linux 定时任务 cron
1、查看是否支持
[root@xuexi3 ~]# rpm -qa |grep cron cronie-anacron-1.4.11-23.el7.x86_64 cronie-1.4.11-23.el7.x86_64 crontabs-1.11-6.20121102git.el7.noarch # 定时任务主程序包,提供crond守护进行等工具 [root@xuexi3 ~]# systemctl status crond #查看 crond状态是否在运行
系统定时任务配置文件 /etc/crontab
crontab
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似
| 参数 | 解释 | 使用示例 |
|---|---|---|
| -l | list查看定时任务 | crontab -l |
| -e | edit编辑定时任务 | crontab -e |
| -i | 删除定时任务,提示用户确认删除,避免出错 | crontab -i |
| -r | 删除定时任务,移除/var/spool/cron/username文件,全没了 | crontab -r |
| -u user | 指定用户执行任务,root可以管理普通用户计划任务 | crontab -u |
crontab命令就是在修改/var/spool/cron中的定时任务文件
用户查看定时任务
crontab -l #列出用户设置的定时任务,等于cat /var/spool/cron/root
crontab -e #编辑用户的定时任务,等于如上命令编辑的是 vi /var/spool/cron/root文件
检查crond服务是否运行
[root@xuexi3 ~]# systemctl is-active crond
active
[root@xuexi3 ~]# ps -ef |grep crond
root 1611 1 0 11:57 ? 00:00:00 /usr/sbin/crond -n
定时任务相关的文件
/var/spool/cron 定时任务的配置文件所在的目录
/var/log/cron 定时任务的日志文件
/etc/cron.deny 定时任务黑名单
定时任务的语法格式
查看定时任务配置文件
cat /etc/crontab
编辑当前用户的 crontab 文件
crontab -e
添加定时任务规则
*/10 * * * * /绝对路径/你的脚本.sh
通过 Bash 解释器执行(避免权限问题)
*/10 * * * * /bin/bash /绝对路径/你的脚本.sh
记录输出日志(调试推荐)
*/10 * * * * /bin/bash /绝对路径/你的脚本.sh >> /路径/日志文件.log 2>&1
确保脚本有可执行权限
chmod +x /绝对路径/你的脚本.sh
测试脚本能否手动运行
/bin/bash /绝对路径/你的脚本.sh
检查 cron 日志(排查错误)
grep CRON /var/log/cron # CentOS/RHEL

浙公网安备 33010602011771号