Skip to content

Latest commit

 

History

History
123 lines (72 loc) · 3.32 KB

File metadata and controls

123 lines (72 loc) · 3.32 KB

[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

linux任务调度机制

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 数字编号 :删除当前的任务 

END 链接