[toc]
Crontab 进行 定时任务的设置
概述:指定系统在某个时间执行某个命令或者程序
-e | 编辑crontab定时任务 |
---|---|
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab任务 |
每天4点每十分钟执行一次重启
*/5 16 *** /usr/sbin/reboot >/dev/null 2>&1
每天4点1-20分钟执行一次重启主机:
5,10,15,20 16 *** /usr/sbin/reboot >/dev/null 2>&1
***/1 * * * *date >> /temp --**每隔一分钟将日期信息追加到temp文件中
案例:每个一分钟,将当前的日期和日历信息都追加到 /home/temp 文件夹中
- 方法一:分开写
- 方法二:写一个shell脚本,同时追加两个任务的脚本 //方便
Vim my.sh 放在home文件下
Date >> /home/temp
Cal >> /home/temp
目前这个文件没有执行权限,我们需要用chmod增加权限
chmod u+x my.sh
动态执行脚本,每隔一分钟调用 crontab -e
增加:
* / * * * * /home.my.sh
例:每天凌晨2:00将mysql数据库testdb,备份到文件中。
Crontab -e
0 2 * * *mysqldump -u root -p 1234 testdb >> /home/db.bak
Ps -ef | 查看当前运行的任务有哪些 |
---|---|
Ps -ef | grep atd | 过滤看atd任务 |
Atd 上面是定时调用的话,那么这个atd任务调用便是,每隔60s便会检查队列
--可以是指令或者shell脚本
At [选项][时间]
Ctrl + D 结束at命令的输入
2.命令功能:
在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(
ps -ef | grep atd
查看, 开启用/etc/init.d/atd start or restart; 开机即启动则需要运行 chkconfig --level 2345 atd on)。
3.命令参数:
-m | 当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出 |
---|---|
-I | atq的别名 |
-d | atrm的别名 |
-v | 显示任务将被执行的时间 |
-c | 打印任务的内容到标准输出 |
-V | 显示版本信息 |
-q | <列队> 使用指定的列队 |
-f | <文件> 从指定文件读入任务而不是从标准输入读入 |
-t | <时间参数> 以时间参数的形式提交要运行的任务 |
Atq :显示当前正在执行的命令
Atrm 数字编号 :删除当前的任务
-
✴️版权声明 © :本书所有内容遵循CC-BY-SA 3.0协议(署名-相同方式共享)©