Linux实操篇——定时任务调度
crond任务调度
Linux有一个叫crond后台程序,它可以定时调度我们设置的任务。
使用crontab -e
通过crontab这个指令来进行定时任务的设置
执行方式:
命令行输入crontab -e
编写调度指令,保存退出即可自动执行。其他特殊符号:
时间实例:
我们讲定时调用的两种情况:
1.使用crontab -e,在里面编写命令,即可自动执行
2.使用shell脚本,然后在crontab -e定时执行脚本
使用shell脚本
1.编写shell脚本
vim my.sh
date >> /home/mycal
2.查看脚本权限
发现,my.sh没有x权限,也就是没有执行权限,所以我们要修改权限3.修改shell脚本权限
4.执行shell脚本
但是这样是不行的,因为mycal的内容不会改变,每次执行一次shell,它会更新一次,所以我们要定时执行shell脚本,一定要注意权限,是谁有执行权限。
5.使用crontab -e调用shell脚本
定时更新mysql数据库
步骤:
1.crontab -e
2.0 2 * * * musqldump -u root -p[key] testdb > /home/db.bak
crontab的相关指令
at定时任务
crontab是重复性的定时任务,但有时候我希望在定时任务只执行一次,这时候就需要使用at
ps -ef是显示当前所有正在运行的进程
使用 过滤指令 grep atd 查看名称为atd的进程
如果有叫atd的进程,就说明后台atd在运行原理图:
at命令选项:
at时间定义:
at定时任务案例
注意,在at时间里如果输入错了,按ctrl+回退键删除
2天后的下午5点执行/bin/ls /home
atq命令来查看系统中没有执行的工作任务
明天17点钟,输出时间到指定文件内 比如 /root/date100.log
2分钟后,输出时间到指定文件内 比如:/root/date200.log
删除已经设置的任务,atrm编号
也可以执行shell脚本