Linux日志每日备份脚本
2018-5-28 10:59:07 星期一
原理是:
1. 每天0点0分crontab执行备份脚本
2. 先将当前日志文件copy一份作为备份, 备份文件名的后缀为前一天
3. 用当前日志的最后50行覆盖当前日志的内容
备份脚本:
1 #!/bin/bash 2 d=`date -d "1 day ago" +%F` 3 log='/var/log/php-fpm/www-error.log' 4 5 bakup=${log}'-'${d} 6 7 cp $log $bakup 8 9 tmp=`tail -50 $log` 10 echo $tmp > $log
注意: 如果日志写入速度很快, 担心备份过程中有丢失, 可以将第9行的值调大
2. crontab
0 0 * * * /usr/local/bin/bakup_log.sh
另外, 可能有些同学还不太熟悉crontab里边的几个时间, 可以记下"顺口溜 ": 分时日月周
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步