美文网首页
linux-任务管理

linux-任务管理

作者: 一个菜鸟JAVA | 来源:发表于2019-07-30 21:37 被阅读0次

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

    单一时刻执行任务:at

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

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

    创建完命令之后,可以通过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-任务管理

          本文链接:https://www.haomeiwen.com/subject/epiorctx.html