linux下crontab执行定时任务

客官°小女子只卖身不卖艺 2022-11-07 14:38 409阅读 0赞

linux下crontab执行定时任务

我们会有一些定时脚本需要执行的需求,linux为我们提供了crontab管理和执行定时任务。

crontab安装启动重启关闭

service crond start 开启服务
service crond stop 关闭服务
service crond restart 重启服务
service crond reload 重新载入配置
service crond status查询crond的在状态,如果有显示runing则表示正常运行中。

crontab的3大命令查看编辑删除

crontab -l 查看配置的定时任务

crontab -e 编辑定时任务

crontab -r 删除所有定时任务危险

cron定时任务配置

  1. */5 * * * * command

cron格式为 * * * * *

从左到右依次是














































































说明 分钟 小时 每个月的第几天 每年的第几个月 每周的第几天 解释
取值范围 0~59 0~23 1~31 1~12 0~6(表示周几,0表示周天)
示例 5 每小时第5分钟执行一次命令
示例 0 9 每天早上9点00分执行一次命令
示例 0 9 5 每月5号早上9:00执行一次命令
示例 0 9 5 6 每年6月5号早上9:00执行一次命令
示例 0, 10, 20 10, 11, 14 每天10点,11点,14点的0分,10分,20分执行一次命令
示例 0 9 * 5 每周五早上9:00执行一次命令

常用目录执行日志

tail -n 10 /var/log/cron查询最近10条crontab的日志

禁止crontab -r 命令

/etc/bashrc 文件末尾添加 alias crontab =’/usr/bin/cron.sh’ 或者在当前root用户 ~/.bashrc文件末尾添加 alias crontab=’/usr/bin/cron.sh’

cron.sh文件文件内容

  1. #!/bin/bash
  2. source ~/.bashrc
  3. etime=`date -d "0 days ago" +%Y%m%d_%H%M%S`
  4. if [ "$1" = "-r" ] ; then
  5. echo "My God! Dangerous..."
  6. echo "Exit..."
  7. exit 2
  8. fi
  9. if [ "$1" = "-l" ] ; then
  10. /usr/bin/crontab -l
  11. echo 'run crontab -l'
  12. exit 0
  13. fi
  14. if [ "$1" = "-e" ] ; then
  15. mkdir -p ~/cronbak
  16. /usr/bin/crontab -l > ~/cronbak/cron.bak.$etime.a
  17. /usr/bin/crontab -e
  18. /usr/bin/crontab -l > ~/cronbak/cron.bak.$etime.b
  19. fi
  20. #linux

cron.sh文件的作用
1.禁止crontab -r
2.每次编辑都备份crontab任务列表到~/cronbak目录下

如果cron.sh不生效,

  1. 重新连接到服务器
  2. 执行 source ~/.bashrc

参考

https://blog.csdn.net/yeguxin/article/details/79543514

https://blog.csdn.net/weixin\_30781107/article/details/99079096

发表评论

表情:
评论列表 (有 0 条评论,409人围观)

还没有评论,来说两句吧...

相关阅读