1. 打开终端(Linux或Mac平台),使用Vi或Nano等编辑器,创建一个新脚本文件,并设置相应的权限:
vi clean_logs.sh
chmod +x clean_logs.sh
2. 编写清理日志的命令,可以使用find命令查找一定日期以前的日志文件,并使用rm命令清理掉找到的文件:
#!/bin/bash
log_dir=/var/log/app
expire_days=30
cd $log_dir
find . -mtime +$expire_days -type f -name "*.log" -exec rm -f {} \;
3. 上述代码将清理掉$log_dir目录下超过$expire_days天的,后缀名为log的所有文件。
4. 使用crontab命令,对这个脚本进行定时任务的设置。例如每天凌晨检查清理:
crontab -e
在文件底部添加如下一行命令:
0 0 * * * /path/to/clean_logs.sh
其中0 0 * * *表示每天凌晨执行,/path/to/clean_logs.sh表示脚本文件的绝对路径。根据需求可以修改对应的时间,例如0 2 * * * 表示每天凌晨2点清理日志。
5. 保存退出,定时任务设置完成。
使用上述方法,您就可以编写一个简单的定时清理日志的shell脚本,定时清理您的应用程序日志。注意备份所有重要日志文件。