shell脚本删除30天之前日志
1、新建sh文件
删除30天以前的文件
#!/bin/bash
find /home/sdu/server/node1/logs/ -mtime +30 -print | xargs rm -rf
//注释-mtime是距离上一次修改时间 -print是只显示文件 xargs是获取find查找的结果在通过rm命令删除
2、部署服务器
3、设置crontab定时任务
打开定时任务配置文件:crontab -e
定时调用test.sh:* * * * * /home/test.sh
保存退出:按键ESC,输入:wq
第一个* 一小时当中的第几分钟 0-59
第二个* 一天当中的第几小时 0-23
第三个* 一个月当中的第几天 1-31
第四个* 一年当中的第几月 1-12
第五个* 一周当中的星期几 0-7(0和7都代表周日)
* 代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行
, 代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行
- 代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行
*/n 代表每个多久执行一次,比如*/10 * * * *代表每隔10分钟执行一次
例子:
45 22 * * *
在22点45分执行
0 17 * * 1
在每周1的17点0分执行
0 5 1,15 * *
在每月1号和15号的凌晨5点0分执行
40 4 * * 1-5
在每周一到周五的凌晨4点40分执行
*/10 4 * * *
在每天的凌晨4点,每隔10分钟执行一次
0 0 1,15 * 1
每月1号和15号,每周1的0点0分都会执行
注意:星期几和几号最好不要同时出现,他们的意义都是天,容易混淆
4、查看目前都有那些定时任务
crontab -l
5、备注:
定时任务需要crond服务的支持
1.启动方法 service crond restart
2.该服务默认是开机启动的
取消定时任务
1.全部取消 crontab -r
2.取消某个 crontab -e 配置文件,删除要取消的哪一行配置
若定时任务存在,编辑shell脚本后,不用做任何操作,不放心的话可以启动脚本看下是否报错 sh 脚本名字