一、查看是否安装cron包:
rpm -qa | grep cron
二、确认crond服务是否设为开机启动
service crond status 启动和关闭级别3和级别5的crond服务 chkconfig --level 35 crond on chkconfig --level 35 crond off
三、crond 配置文件与日志文件
使用crontab -e命令为当前用户定制任务计划, 会生成文件到 /var/spool/cron/$USER,
crond服务会每分钟扫描一次/var/spool/cron目录下所有文件来执行文件里的指令信息
四、编写crontab任务计划
crontab文件格式
分 时 日 月 周 执行命令
案例:每10s执行一次脚本
*/1 * * * sleep 10s && script.sh */1 * * * sleep 20s && script.sh */1 * * * sleep 30s && script.sh */1 * * * sleep 40s && script.sh */1 * * * sleep 50s && script.sh注:在这里这五个会同时启动,所以会实现每10s执行一次脚本。
例:
每小时的第10分钟执行touch /tmp/a.txt
10 * * * * touch /tmp/a.txt
每间隔10分钟执行
*/10 * * * * touch /tmp/a.txt
每天晚上10点30执行
30 22 * * * touch /tmp/a.txt
每天晚上8点到10点的第30分钟执行
30 20-22 * * * touch /tmp/a.txt
每年的1月1号10点30执行
30 10 1 1 * touch /tmp/a.txt每两个小时执行一次
0 */2 * * * echo "Have a break now.">> /tmp/test.txt
首先检查crond日志:
分两种情况
第一:任务计划根本就没有执行
1) 重启crond服务。
2) 确定任务计划运行时间写的对不对,是不是我们想要执行的时间第二:任务计划执行了,调用的脚本出错
1) 权限问题,文件或者用户是否有执行权限
2)脚本里面相对路径绝对路径问题
3)脚本的变量问题
4)任务计划里路径写错了,导致根本就没有调用到这个脚本
时间: 2024-10-29 00:44:25