实现Linux服务器上的日志自动按时“分割”

说是分割,其实我的实现方式是:按日备份日志文件,并不影响当前日志文件的写入。

要点:
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

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值