目录
一、crond任务调度
1、基本语法
【crontab 选项】
-e 编辑crontab定时任务
-l 查询当前crontab任务
-r 删除当前用户所有的crontab任务
步骤:
设置个人任务调度。执行crontab -e命令
接着输入任务到调度文件
如: */1**** ls -l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行Is -1 /etc/ > /tmp/to.txt命令 意思说每小时的每分钟执行为-1/etc/>/tmp/to.txt命令
* 参数说明
2、特殊符号的说明
解析:
案例1: 每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中
- */1* ** * date > /tmp/mydate
案例2:每隔1分钟,将当前日期和日历都追加到/home/mycal 文件中
- vim /home/my.sh写入内容date 》/home/mycal和cal >> /home/mycal
- 给my.sh 增加执行权限,chmod u+x /home/my.sh
- crontab -e 增加*/1 * * * * /home/my.sh
案例3:每天凌晨2:00 将mysql数据库 testdb ,备份到文件中。提示:指令为
mysqldump -u root -p密码 数据库 > /home/db.bak
- crontab -e
- 0 2 * * * mysqldump -u root -proot testdb > /home/db.bak
3、crond相关指令
crontab -r 终止任务调度
crontab -l 列出当前所有的任务调度
service crontab restart 重启任务调度
二、 at定时任务
1、at介绍
at命令是一次性的定时任务调度,执行完命令后就不再执行此任务了
在执行at命令时,要保证atd进程的启动,查看std进程是否启动,可以通过筛选查询
- ps -ef | grep atd
2、at语法
【at 选项 时间】
利用ctrl + D 结束at命令的输入,连输入2次
3、有关at的命令选项
4、at时间定义
1)当天的时间定义,如果时间已经过去,则在第二天进行,否则在当天到点时执行一次
2)采用12小时的计时方法,早上用am说明,下午用pm说明
3)日期格式为:month day(月 日)或 (mm/dd/yy)(月 日 年)或 dd.mm.yy(日 月 年) 注意:指定的日期要跟在时间的后面 04:00 2021-04-27
4)可以使用today tomorrow来指定执行命令的日期
5)now count+时间单位 比如:now 10 minutes hours days weeks minutes
案例4:2天后下午5点执行 /bin/ls /home
5、删除任务调度
基础语法:【atrm 编号】
案例5:删除上述创建定时任务