Linux特定时间执行特定任务的方法分享

发布时间:2020-04-05编辑:脚本学堂
本文介绍下,在linux系统中配置特定时间执行特定任务的方法,有需要的朋友不妨作个参考。

本节内容:
学习下at命令、crontab的用法。

1,仅执行一次的任务
所需程序
atd服务

at命令
启动atd
 

复制代码 代码示例:
# service atd restart
atd stop/waiting
atd start/running, process 11031

注意:在root下执行,不然会提示Rejected send message.
at的使用
使用at的权限(因为安全性考虑最好设置)
在/etc/at.allow中设置可以使用at的账号
在/etc/at.deny中设置不可以使用at的账号

例子:
1分钟后执行mkdir
 

复制代码 代码示例:
$ at now + 1 minutes
warning: commands will be executed using /bin/sh
at> mkdir helloAt
at> <EOT>
job 1 at Wed Feb  6 14:36:00 2013

查看工作
 

复制代码 代码示例:
# at -c 2
#!/bin/sh
# atrun uid=0 gid=0
# ...
$ mkdir helloAt

特定时间关机
 

复制代码 代码示例:
$ at 14:00 2013-2-9
warning: commands will be executed using /bin/sh
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 4 at Sat Feb  9 14:00:00 2013
 

at如何执行
输入输出:标准输入输出会重定向到mailbox里,所以执行echo "hello"在终端下是看不到的
后台工作:系统会将at工作独立于shell,交给atd程序接管,即使关了shell也没关系
查询与删除at中的工作
查询:atq
删除:atrm jobid
batch:和at相似,只是在cpu负载低时才执行

2,循环执行的任务
所需程序
crontab

权限限制
 

/etc/cron.allow
/etc/cron.deny

例子:
$ crontab -e #添加任务
进入编辑环境,使用vim编辑
格式:

# m h dom mon dow command
m:minute, h:hour, dom:day of month
mon:month, dow:day of week

例子:
0 5 * * 1 tar -zcf var/backups/home.tgz /home
*表示任何时间
$ crontab -l #查询任务
$ crontab -r #删除任务

3,可唤醒停机期间的工作任务
anacron:crontab 任务因为关机没有执行,anacron可以在开机时检测没有执行的crontab任务,都执行一遍。

您可能感兴趣的文章:
crontab命令基础与实例
crontab命令的一些例子
linux安装crontab详解
linux中crontab定时执行任务命令的详解
linux中crontab定时自动执行计划任务的方法
crontab学习笔记
crontab 命令格式与例子
linux定时任务设置crontab学习
不错的crontab教程