20200702Linux 计划任务

一 at 执行一次的任务

有时at不是自启的,要在设置下。

systemctl restart atd                   # 重启这个服务

systemctl enable atd                  # 开机自启

systemctl status atd                   # 查看目前状态

运行方式:

我们使用at这个命令来产生所要运行的任务,并将这个任务以文本文件的方式写入/var/spool/at 目录内,该任务便能等待atd这个服务的使用和执行了。

还有两个文件要设置:

/etc/at.allow                # 在这个文件中的用户才能使用at

/etc/at.deny                # 在这个文件中用户不能使用at

如果两个文件都不存在,那么这有root用户可以使用at命令

 

at [-mldv] TIME

at -c 任务号码

-m              当at的任务完成后,即使没有输出信息,也发送邮件通知使用者已完成

-l                 at -l     相当于atq     列出目前系统上面的at计划任务

-d                at -d    相当于atrm,   取消一个在at计划中的任务

-v                可以使用较明显的时间格式列出at计划中的任务列表

-c                 可以列出后面接的该任务的实际命令内容

Time 如下:

04:00            04:00 2011-11-11       now + 5 minutes   之类的

at now + 5 minutes
at> /bin/mail -s  "xxxx" root < /root/.bashrc
at> EOF               # 手动输入ctrl + d   终止输入

at 好像没啥用,注意的是,at的执行与终端环境无关,而所有标准输出/标准错误输出都会发送到执行者mailbox中,所以终端不会有任何消息,at 执行 echo就看不到结果。

 

二 cron

还是有两个文件,/etc/cron.allow   /etc/cron.deny , 默认情况下,任何用户只要不被列入/etc/cron.deny中,那么他就可以直接执行crontab -e.

当用户使用crontab这个命令来建立计划任务之后,该项任务就会被记录到/var/spool/cron/中。

cron执行的每一项任务都会被记录到/var/log/cron中。

crontab [-u username] [-l | -e | -r] 

-u   只有root才能执行这个任务,即帮助其他使用者建立删除crontab计划任务

-e   编辑crontab的任务内容

-l    查看crontab的任务内容

-r   删除所有的crontab的计划任务

时间配置:

* * * * *

依次是  分时日月周

0,3,6 * * * command        # 每天的三点和六点执行
20 8-20 * * *              # 8点到12点每小时的20分执行,8:20 9:20,,,
*/5 * * * *                # / 每隔5分钟执行一次

 

上面的命令是针对用户的,如果要执行系统的例行性任务时,只要编辑/etc/crontab这个文件就好了。

用发差不多。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值