Linux- 日常运维-任务计划cron

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux- 日常运维-任务计划cron相关的知识,希望对你有一定的参考价值。

cat /etc/crontab #任务计划配置文件
SHELL=/bin/bash #
PATH=/sbin:/bin:/usr/sbin:/usr/bin #环境变量
MAILTO=root #邮件发送给谁

     # Example of job definition:                #任务计划示例:
# .---------------- minute (0 - 59)            #分钟
# |  .------------- hour (0 - 23)                #小时
# |  |  .---------- day of month (1 - 31)        #日期
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...            #月份,可以写数字,也可以写英文的简写
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat            #星期。0或者7表示周日,也可以写成英文简写
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed       user-name #用户,如果是在root下,定义的,默认就是root
###    command to be executed     表示需要执行的命令

技术分享图片
去创建任务计划: crontab -e 用法于vim一样。
例如:有个任务,需要凌晨3点去执行。
0 3 /bin/bash /脚本路径 >>tmp/123.log 2>tmp/123.log # 表示所有,表示每天的3点钟去执行。
0 3 * /bin/bash /usr/local/sbin/123.sh >>tmp/123.log 2>tmp/123.log #每天早上的3点钟,去执行 /usr/local/sbin下123.sh文件,正确日志输出到123.log,错误日志也输出到123.log中

可设置范围:
分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7
例如:
定义每月1-10号:
0 3 1-10 /bin/bash /usr/local/sbin/123.sh >>tmp/123.log 2>tmp/123.log #每月1-10号早上的3点钟,去执行 /usr/local/sbin下123.sh文件,正确日志输出到123.log,错误日志也输出到

定义每两个月:
0 3 1-10 /2 /bin/bash /usr/local/sbin/123.sh >>tmp/123.log 2>tmp/123.log #每月1-10号早上的3点钟,去执行 /usr/local/sbin下123.sh文件,正确日志输出到123.log,错误日志也输出到 # /2 表示双月份,例如2月,4月.... 也就是每两个月

定义周二和周五
0 3 1-10 * 2,5 /bin/bash /usr/local/sbin/123.sh >>tmp/123.log 2>tmp/123.log #每月1-10号早上的3点钟,去执行 /usr/local/sbin下123.sh文件,正确日志输出到123.log,错误日志也输出到 # 2,5 表示周二和周五

要想执行这个任务计划,则需要保证服务启动: systemctl start crond.service

ps -ef | grep crond #查看服务是否启动
或者 : systemctl status crond
绿色表示服务在运行
技术分享图片

如果出现未执行的情况,要么给命令加一个绝对路径,要么将路径加入到变量里面去,建议没写一个任务,加上日志。

crontab -l #自动备份脚本文件 可以直接复制目录,进行备份
文件/var/spool/cron/username #备份的文件路径,里面的文件,如果属于root,可以看到root的,如果是user1就可以看到user1

crontab -e #编辑任务计划
crontab -l #列出任务计划
crontab -r #删除
crontab -u root -l #指定一个用户

可用于清理挖矿病毒

以上是关于Linux- 日常运维-任务计划cron的主要内容,如果未能解决你的问题,请参考以下文章

日常运维

Puppet学习之cron任务的管理

Linux使用ansible实现批量创建cron计划任务

Linux系统计划任务之二:cron任务调度

Linux计划任务

Linux系统的任务计划