举例 : 切割nginx的日志
vi runlog.sh
#!/bin/bash
# 设置日志文件存放目录
logs_path="/var/log/nginx/"
backup_path="/var/log/nginx/logs/"
# 设置pid文件
pid_path="/run/nginx.pid"
# 重命名日志文件
mv ${logs_path}/access.log ${backup_path}/access_$(date -d "yesterday" +"%Y%m%d").log
mv ${logs_path}/error.log ${backup_path}/error_$(date -d "yesterday" +"%Y%m%d").log
# 向nginx主进程发信号重新打开日志
kill -USR1 `cat ${pid_path}`
# 压缩
gzip ${backup_path}/access_$(date -d "yesterday" +"%Y%m%d").log
gzip ${backup_path}/error_$(date -d "yesterday" +"%Y%m%d").log
# 删除超过指定时间的日志文件,单位:天
find $backup_path -name "*.gz" -type f -mtime +30 -exec rm -rf {} \;
编写定时任务
crontab -e
0 0 * * * sh /var/log/nginx/runlog.sh
定时任务的查看和删除
crontab -l :表示列出所有的定时任务
crontab -r :表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除