at命令
在特定的时间执行一次任务的命令
安装包:at.x86_64
启动命令:systemctl start atd
查看状态: systemctl status atd
语法格式:
at + 时间
语法示例:
一分钟后添加用户 uuu
示例一:
[root@localhost~]# at now+1min
at> useradd uuu
at><EOT> //<EOT>不是手动敲上去的,是键盘的组合键 Ctrl + D 实现
示例二:
将命令放到文件中,使用重定向将文件赋给at
vi at.job
useradd uuu
[root@localhost~]# at now+1min <at.job
atq 命令
是查询系统中没有执行的工作任务
格式:
[root@localhost~]# atq //查询出系统未执行的任务号
atrm 命令
启动任务命令后,有不想执行的命令,使用atrm删除
格式:
[root@localhost~]# atrm + 任务号
crontab 命令
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0/7表示星期天)
第6列要运行的命令
语法示例:
编辑crontab命令 crontab -e
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
每隔五分钟执行backup
*/5 * * * * /usr/bin/backup
每月的1,5,8号2:00执行backup
0 2 1,5,8 * * /usr/bin/backup
查看crontab任务:crontab -l
实现秒级备份:
while true;do
command
sleep xx //xx为间隔秒数
done
该方案可以使用crontab 执行脚本,然后将crontab任务删除.