欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux 计划任务管理

程序员文章站 2022-10-19 08:26:19
实际的生产环境中,总会做一些定期的任务,比如数据备份,我们不可能总等到那个时间去手动执行,这时计划任务就派上用场了。 ......

Linux 计划任务管理

实际的生产环境中,总会做一些定期的任务,比如数据备份,我们不可能总等到那个时间去手动执行,这时计划任务就派上用场了。


一次性计划任务

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