计划任务
1,at
在未来某个时间点执行一次某任务, 不带周期性,因为at是程序,所以首先要开启服
server atd start
与它相同功能的命令:bath
格式: at 时间 【回车】
at> 命令>路径. (在某个时间点执行某个程序或命令一定要使用命令绝对路径)
查看命令所在路径: whereis command 或者 which command
at> [ctrl]+d 退出
at -l 或者atp 查看任务
at -d id 或者 atrm id 删除任务
例子:
关于时间的表示和确定
绝对时间 10:20 DD:MM:YY MM/DD/YY
相对时间 now+3m 3分钟以后 now+数字
单位有:minutes hours days weeks
模糊时间:noon midnight teatime
使用命令文件方式:
at -f 文本文件 时间点
在文本文件里写如命令
命令的执行结果:将以邮件的形式发送给安排任务的用户 用mail 查看
batch :
自动选择空闲时间去执行任务, 不需要指定特定的时间
/etc/at.allow 白名单
/etc/at.denv 黑名单
两者存在, 白名单有效
两者都不存在,只允许管理员使用
黑名单为空, 则所有人都允许
白名单为空, 所有人都不允许
2. Cron(周期行的执行某任务, 定时执行工具)
它是内置服务, 不自动起来,可以用以下方法启动与关闭此服务
/sbin/service crond start |stop |restart | reload 启动 关闭重启重新载入
也可以设置成 自启动
在/etc/rc.d/rc.local 脚本末尾加上
/sbin/service crond start
分两类:
系统cron任务 定义在/etc/crontab
7段 5个指定时间 用户 任务
“分 小时 天 月 周 用户 任务”
用户cron任务 定义在/var/spool/username
“分 小时 天 月 周 任务”
时间的有效取值:
分 0-59 小时 0-23 天0-31 月 1-12 周0-7 0与7指星期日
时间通配表示
*: 对应所有的有效取值
例子: 13 12 * * * * 每天的12:13分
, :离散时间点取值
例子:10,40 02 * * 2,5每周周2和周5的2:40 和2:10
-: 连续时间点
例子:10 02 * * 1-5 每周一到周五的两点十分
/#: 对应取值范围内没多久
例子:*/3 * * * * 每三分钟一次的任务
Crontab命令选项:
-u 指定一个用户
-l 列出某个用户的任务计划
-r 删除某个用户的任务
-e 编辑某个用户的任务
Cron 的环境变量
Cron 执行的所有命令都去PATH指定的路径下去找
.. 不发送电子邮件
例子 : */3 * * * * /bin/cat /etc/fastab &> dev/null
新增调度任务
两种方法:1. 在命令行输入crontab -e 然后添加相应的任务,wq 退出
2。 直接编辑/etc/crontab 文件,即 vi /etc/crontab 添加相应的任务
用vi /etc/crontab 编辑计划任务
转载于:https://blog.51cto.com/keleyingwu/1167789