linux案例9

计划任务管理

在系统中设置好一段命令,要求在规定的日期和时间执行,称为计划任务
at命令
在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
服务脚本名称:/etc/init.d/atd
设置格式:at [HH:MM] [yyyy-mm-dd]
atq命令
用途:查询当前设置的at任务列表
atrm命令:
用途:删除指定任务编号的at任务
格式:atrm 编号
在这里插入图片描述
案例
[root@localhost 桌面]# service atd start 启动atd系统服务
Redirecting to /bin/systemctl start atd.service
[root@localhost 桌面]# date 查询当前时间
2018年 06月 12日 星期二 15:34:27 CST
[root@localhost 桌面]# at 16:00 在16:00执行计划任务
at> reboot 重启系统
at> Ctrl+D退出执行计划任务
job 1 at Tue Jun 12 16:00:00 2018
[root@localhost 桌面]# atq 查询执行计划任务
1 Tue Jun 12 16:00:00 2018 a root
[root@localhost 桌面]# atrm 1 删除第1条执行计划任务
[root@localhost 桌面]# atq 查询执行计划任务
[root@localhost 桌面]# 无执行计划任务
[root@localhost 桌面]# date 查询当前时间
2018年 06月 12日 星期二 15:41:49 CST
[root@localhost 桌面]# at 15:43 在15:43执行计划任务

at> reboot
at>
job 3 at Wed Jun 2 15:43:00 2018
[root@localhost 桌面]#
时间到重启系统
在这里插入图片描述

计划任务管理 —— crontab

crontab命令
按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
服务脚本名称:/etc/init.d/crond
主要设置文件
全局配置文件,位于文件:/etc/crontab
用户定义的设置,位于文件:/var/spool/cron/用户名
管理cron计划任务
编辑计划任务:crontab -e [-u 用户名]
查看计划任务:crontab -l [-u 用户名]
删除计划任务:crontab -r [-u 用户名]
在这里插入图片描述
在这里插入图片描述
案例:
[root@localhost 桌面]# crontab –e 编辑计划任务,用户只需执行“crontab -e”命令后会自动调用文本编辑器(默认为vi)并打开“/var/spool/cron/用户名”文件,无需手动指定文件位置
在这里插入图片描述
按a进入编辑状态,输入编辑计划任务(注:命令需使用绝对路径)
查询reboot命令的绝对路径
在这里插入图片描述
要求每天12:00重启系统
在这里插入图片描述
要求每天23:59关机,查询关机命令绝对路径
在这里插入图片描述
在这里插入图片描述
按ESC :wq保存并退出
[root@localhost 桌面]# crontab –l 查询计划任务
0 12 * * * /usr/sbin/reboot
59 23 * * * /usr/sbin/poweroff -p
[root@localhost 桌面]# crontab –r 删除用户的所有计划任务
[root@localhost 桌面]# crontab –l 查询用户计划任务
no crontab for root root用户没有计划任务
[root@localhost 桌面]#

crontab应用示例:
示例1(root用户):
每天早上7:50自动开启sshd服务,22点50时关闭
每周六的7:30时,重新启动httpd服务
每周一、三、五的17:30时,打包备份/etc/httpd目录
示例2(jerry用户):
每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件
示例3:
root用户查看自己的计划任务列表
查看并删除jerry用户设置的计划任务

[root@localhost 桌面]# crontab –e

按ESC :wq保存并退出
[root@localhost 桌面]# crontab –l 查询用户计划任务
50 7 * * * /usr/sbin/service sshd start
50 22 * * * /usr/sbin/service sshd stop
30 7 * * 6 /usr/sbin/service httpd restart
30 17 * * 1,3,5 /usr/bin/tar -czf httpd.tar.gz /etc/httpd
[root@localhost 桌面]#
[root@localhost 桌面]# useradd jerry 创建Jerry用户
[root@localhost 桌面]# passwd jerry 设置jerry用户密码
更改用户 jerry 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost 桌面]# crontab -e -u jerry 为jerry用户设置计划任务

按ESC :wq保存并退出
[root@localhost 桌面]# crontab -l -u jerry 查询jerry用户计划任务询
55 23 * * 7 /usr/bin/cp /etc/passwd /home/jerry/pwd.txt
[root@localhost 桌面]# crontab -r -u jerry 删除jerry用户计划任务
[root@localhost 桌面]# crontab -l -u jerry 查询jerry用户计划任务询
no crontab for jerry jerry没有计划任务
[root@localhost 桌面]#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章