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里边的几个时间, 可以记下"顺口溜 ": 分时日月周