创建脚本:vim cron.sh
先贴上脚本代码
#!/bin/sh
. /etc/profile
. ~/.bash_profile
cat /data/xcx/logs/catalina.out >> /data/xcx/logs/catalinadate +%Y-%m-%d.out
echo " " > /data/xcx/logs/catalina.out
find /data/xcx/logs -mtime 30 -name “.out” -exec rm -rf {} ;
详解:
#!/bin/sh
. /etc/profile
. ~/.bash_profile
加上可执行头,配置环境变量等;
cat /data/xcx/logs/catalina.out >> /data/xcx/logs/catalinadate +%Y-%m-%d.out
将catalina.out的内容复制到当前日期为名称的(catalinadate +%Y-%m-%d.out)文件里;
echo " " > /data/xcx/logs/catalina.out
将之后的日志输出写入catalina.out文件里;
find /data/xcx/logs -mtime 30 -name “.out” -exec rm -rf {} ;
删除30天之前的、后缀为.out 的日志;
Esc键 :wq
保存脚本,退出编辑脚本
最后给脚本赋予可执行权限
chmod +x cron.sh
crontab -e
进入定时任务编辑命令
代表含义:
分 时 日 月 周
M: 分钟(0-59)。每分钟用*或者 */1表示
H:小时(0-23)。(0表示0点)
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)
每晚23点58分执行cron脚本
58 23 * * * /bin/bash /data/xcx/logs/cron.sh
crontab -l
查看所有定时任务
cat /var/log/cron
查看定时任务日志,可以看下脚本是否执行
定时任务表达式 后的可执行脚本的路径必须为绝对路径,
脚本里的日志文件的路径也是绝对路径,
删除日志命令的-mtime n 直接跟数值,即几天前的日志,没有+号,看了其他的文章都有+号,所以不执行,这是个坑。



