Linux 计划任务管理
程序员文章站
2022-05-12 10:13:08
实际的生产环境中,总会做一些定期的任务,比如数据备份,我们不可能总等到那个时间去手动执行,这时计划任务就派上用场了。 ......
实际的生产环境中,总会做一些定期的任务,比如数据备份,我们不可能总等到那个时间去手动执行,这时计划任务就派上用场了。
一次性计划任务
at
- 一次性计划任务
at [hh:mm] [yyyy-mm-dd]
设置完,按ctrl + d
退出
1.获取系统当前时间
[root@localhost ~]# date 2019年 08月 28日 星期三 00:30:41 cst
2.设置一次性计划任务
[root@localhost ~]# at 00:33 2019-08-28 at> rpm -qa | wc -l > /opt/test.txt at> <eot> job 1 at wed aug 28 00:33:00 2019 [root@localhost ~]# atq 1 wed aug 28 00:33:00 2019 a root
3.验证结果
[root@localhost ~]# cat /opt/test.txt 1318
atq
- 查询还未执行的计划任务
[root@localhost ~]# atq 1 wed aug 28 00:33:00 2019 a root
atrm
- 删除还未执行的计划任务
[root@localhost ~]# at 00:35 2019-08-28 at> shutdown now at> <eot> job 2 at wed aug 28 00:35:00 2019 [root@localhost ~]# atq 2 wed aug 28 00:35:00 2019 a root
[root@localhost ~]# atrm 2 [root@localhost ~]# atq
周期性计划任务
crontab
- 周期性计划任务
-e
:编辑计划任务列表-l
:列表显示计划任务-r
:删除计划任务列表-u
:指定用户
- 配置文件:
[root@localhost ~]# cat /etc/crontab shell=/bin/bash path=/sbin:/bin:/usr/sbin:/usr/bin mailto=root # for details see man 4 crontabs # 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 # | | | | | # * * * * * user-name command to be executed
参数 | 说明 |
---|---|
分 | 0~59整数 |
时 | 0~23整数 |
日 | 1~31整数 |
月 | 1~12整数 |
周 | 0~7整数,0和7都表示星期日 |
命令 | 普通命令、程序脚本 |
* | 任意时间 |
- | 连续的时间范围 |
, | 间隔的不连续时间 |
/ | 指定的间隔频率 |
[root@localhost ~]# crontab -e crontab: installing new crontab
[root@localhost ~]# crontab -l 50 1 * * * /usr/bin/cp -p /etc/passwd /root/passwd.bak 30 1 */3 * * /usr/bin/tar zcvf /opt/log.tar.gz /var/log/
[root@localhost ~]# crontab -r [root@localhost ~]# crontab -l no crontab for root
推荐阅读