linux-任务管理

在linux中可以使用crond创建周期任务,使用at创建一次性任务.

单一时刻执行任务:at

例如下面的命令,在一分钟后输出一个文件在用户的家目录下:

at now + 30 minues
echo 'hello world' > ~/1.txt

创建完命令之后,可以通过atq命令来查询有哪些任务,例如:

10  Mon Jul 29 22:53:00 2019 a root

第一个10代表任务的id;中间的时间代表什么时候执行;a代表队列名称,队列可以通过a-z表示,同时还可以在创建队列还查询时,使用-q参数指定;root代表谁创建的.
还可以使用atrm 任务编号删除任务.
如果想禁止某个用户使用at命令,可以在/etc/at.deny添加该用户的用户名.

周期性执行任务:crond

在使用之前需要先确认crond服务是否已经启动.通过service crond status查看服务是否启动.然后根据情况启动服务.

service crond status    查看服务状态
service crond stop      暂停
service crond start     启动
service crond restart   重新启动服务
service crond reload    重新加载配置
  • 编辑任务:crontab -e.通过该命令,将进入编辑任务.任务的主要内容为* * * * * command.第一个*代表分钟(1-59),第二个*代表小时(0-23),第三个*代表日(1-31),第四个*代表月(1-12),第五个*代表星期(0-6).command代表要执行的任务.
    例如下面,每分钟往1.txt文件追加一句话:
*/1 * * * * echo 'hello world' >> ~/1.txt
  • 查看任务:crontab -l.

  • 删除所有任务:crontab -r

  • 还可以通过添加-u操作指定用户的任务.需要root用户权限.

at一样,可以通过编辑/etc/cron.deny禁止用户使用该功能.

还可以通过/etc/condtabs来定义任务.

你可能感兴趣的:(linux-任务管理)