Linux系统管理-定时任务

约定不等于承诺〃 2022-06-12 06:43 268阅读 0赞

1. crond服务管理

crond服务的启动命令:

  1. service crond restart

crond服务开机自启动:

  1. chkconfig crond on

说明:crond服务默认是已经启动和开机自启动的,一般不需要手动设置。

  1. chkconfig | grep crond
  2. 查看crond定时任务服务是否为开机自启动

2. crontab定时任务命令

命令格式:crontab [选项]

选项:

  1. -e 编辑定时任务 -l 查询已经设置好的定时任务 -r 删除当前用户所有的定时任务

示例:

  1. crontab -e
  2. 进入crontab定时任务编辑界面。默认会用vi编辑器打开你的定时任务。

定时任务的书写格式如下:

  1. * * * * * 命令

说明:

  • 第一个*:一个小时中的第几分钟(0-59)
  • 第二个*:一天当中的第几个小时(0-23)
  • 第三个*:一个月当中的第几天(1-31)
  • 第四个*:一年当中的第几个月(1-12)
  • 第五个*:一周当中的星期几(0-7,0和7都代表星期日)

*代表任意时间,指定的数值代表具体的时间。


























特殊符号 含义
代表任何时间。比如,第一个就代表一小时中每分钟执行一次。
, 代表不连续的时间范围。
- 代表连续的时间范围。
/n 代表每隔多久执行一次。/10 命令,代表每隔10分钟执行一次。

举例说明:

  1. * * * * * 命令
  2. 每分钟执行一次命令。
  3. 45 22 * * * 命令
  4. 在每天的2245分执行该命令。
  5. 0 17 * * 1 命令
  6. 在每周一的170分执行该命令。
  7. 0 5 1,15 * * 命令
  8. 在每月1号和15号的凌晨50分执行该命令。
  9. 40 4 * * 1-5 命令
  10. 在每周一到周五的凌晨440分执行该命令。
  11. */10 * * * * 命令
  12. 每隔10分钟执行一次命令。
  13. 10 * * * * 命令
  14. 在每个小时的第10分钟执行一次命令。(每天执行24次)
  15. */10 4 * * * 命令
  16. 在每天的凌晨4点,每隔10分钟执行一次命令。(每天执行6次)
  17. 0 0 1,15 * 1 命令
  18. 在每月1号和15号、每周一的00分都会执行该命令。(合集)
  19. 注意:几号和星期几最好不好同时出现,因为他们定义的都是天。

示例:

  1. */3 * * * * /bin/echo "333" >> /tmp/test
  2. 每隔三分钟,将字符串333追加到/tmp/test文件中。
  3. 也可这样写
  4. */3 * * * * echo "333" >> /tmp/test
  5. 5 5 * * 2 /sbin/shutdown -r now
  6. 每周二的凌晨55分,重启计算机。
  7. * * * * * /root/sh/autobak.sh
  8. 每分钟执行一次autobak.sh脚本文件。

举例:创建一个定时备份配置文件目录/etc的定时任务。

首先,需要写一个备份配置文件目录的脚本文件

  1. vi etcbak.sh

内如如下:

  1. #!/bin/bash
  2. date=$(date +\%y\%m\%d)
  3. size=$(du -sh /etc)
  4. echo "Date: $date" > /tmp/bakinfo.txt
  5. echo "Data size: $size" >> /tmp/bakinfo.txt
  6. cd /tmp
  7. tar -zcf etc_bak_$date.tar.gz /etc /tmp/bakinfo.txt &>/dev/null
  8. rm -rf /tmp/bakinfo.txt

注意:备份文件名多以日期命名。而日期命令date +\%y\%m\%d和date +%y%m%d在命令行中都可以格式化输出日期,但是在定时任务crontab中,%有特殊含义,估这里必须转义

保存退出后,给该脚本赋予执行权限:

  1. chmod 755 etcbak.sh

最后,写入crontab定时任务:

  1. crontab -e
  2. 30 3 * * * /root/sh/etcbak.sh
  3. 在每天的凌晨330分,执行备份。

说明:crontab定时任务能够设置的最小时间是分钟。

发表评论

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

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

相关阅读