Crond服务启动状态确认
service crond status
追加新的执行任务
crontab -e
#Ansible: dnsmasq force-reload
#1 * * * * /etc/init.d/dnsmasq reload
#每个月1号的0点30分执行,删除/sb/logs/目录下更新日超过30天的log后缀文件
30 0 1 * * find /sb/logs/ -name '*.log' -mtime +30 -delete
追加结果确认
crontab -l
#Ansible: dnsmasq force-reload
#1 * * * * /etc/init.d/dnsmasq reload
30 0 1 * * find /sb/logs/ -name '*.log' -mtime +30 -delete
Crond再启动
service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
编辑定时任务脚本
crontab -uroot -e
添加
*/1 * * * * /dumpData/schedule.sh
# 每分钟执行一次 /dumpData/schedule.sh,记得先给 /dumpData/schedule.sh 添加可执行权限
# chmod +x /dumpData/schedule.sh
# /dumpData/schedule.sh 可编写自己想执行的脚本
shell 脚本(已导出MongoDB 数据库备份为例)
/dumpData/mongodump -h 192.168.0.137 -d ENICUDB -u icudb -p DB@dmin -o /dumpData/`date +%Y`-`date +%m`-`date +%d`_`date +%H`-`date +%M`_DB/
# 执行备份脚本 并 导出到以日期时间创建的文件夹中
# 删除超过 3天的备份数据库文件夹
find /dumpData/ -mtime +3 -name "*_DB" -exec rm -Rf {} \;
查看 crond 日志
tail /var/log/cron
完整流程
service crond status
vim /data/dumpData/schedule.sh
/data/dumpData/mongodump -h 10.13.99.156 -d ENICUDB -u icudb -p DB@dmin -o /data/dumpData/`date +%Y`-`date +%m`-`date +%d`_`date +%H`-`date +%M`_DB/
find /data/dumpData/ -mtime +10 -name "*_DB" -exec rm -Rf {} \;
chmod +x /data/dumpData/schedule.sh
crontab -uroot -e
1 2 * * * /data/dumpData/schedule.sh
55 3 * * * /data/dumpData/schedule.sh
service crond restart
查看定时器进程
tail -f /var/log/cron
查看文件夹大小
du -lh