说是分割,其实我的实现方式是:按日备份日志文件,并不影响当前日志文件的写入。
要点:
1、熟悉了解crontab的基本使用
2、熟悉mv命令、cp命令和touch命令
实施步骤:
1、编写splitlog.sh脚本
#!/bin/bash
file=xwzj_server.log;
date_file=xwzj_server_`date -d "1 day ago" +"%Y%m%d"`.log; #实际上是1天前的所以增加1 day ago;
#归档日志-将$file拷贝为为$date_file,而后清空$file
cd /home/lighthouse/home_of_learning/log
#mv -f $file $date_file && touch $file;
cp $file $date_file
cat /dev/null > $file
注意:本例中不能使用mv的方式重命名日志文件,因为使用重定向方式输出日志的情况下,程序会继续把运行日志输出到更名之后的文件当中,而不会写入到新创建的空日志文件当中。这样,分割日志的目的就达不到了。因此,采用新的方式,拷贝原日志文件,并清空原日志文件。
1、先打开crontab编辑模式,来编辑文件,默认编辑器选择vim-basic
crontab -e
2、在文件内容中写入crontab定时任务,使得crontab每天凌晨0点钟执行splitlog.sh脚本,要注意:对所需要执行的脚本使用绝对路径。
#每天0点执行一次
0 0 * * * /home/lighthouse/home_of_learning/log/splitlog.sh
7530

被折叠的 条评论
为什么被折叠?



