zoukankan      html  css  js  c++  java
  • Linux定时,计划任务cron

    假如你有一些任务要定期执行,比如清理磁盘、删除过期文件、发送邮件和提醒,这个时候可以用cron来实现。

    crond是后台进程,而crontab则是定制好的计划任务表。



    启动与停止

    • 查看状态/sbin/service crond status
    • 启动cron服务 /sbin/service crond start
    • 停止服务 /sbin/service crond stop
    • 重启服务 /sbin/service crond restart

    你也可以将这个服务开机自动启动,在/etc/rc.d/rc.local这个脚本的末尾加上:

     /sbin/service crond start 

    使用crontab命令

    • crontab -u 设定某个用户的cron服务
    • crontab -l 列出当前用户的cron服务的详细内容
    • crontab -l -u elesos //列出用户elesos的所有调度任务
    • crontab -r 删除当前用户的cron服务
    • crontab -e 编辑当前用户的cron服务

    例如当前登陆的用户是root

    运行crontab -e 会给root用户创建一个计划任务;并进入vi编辑计划任务内容。

    分     小时     日      月       星期        命令 0-59  0-23    1-31   1-12      0-6       command(一般一行对应一个任务)

    第1个数字表示分钟(0-59),第2个数字表示小时(0-23),第3个数字表示天(1-31),第4个数字表示月份(1-12),第5个数字表示星期(0-6),其中0表示周日。后面便是你要执行的任务。

    各部分之间使用空格分开。

    上面的时间除了使用数字外还有几个特殊符号:

    • “*”表示所有数值 ,如第一位使用* 表示每分钟
    • “/”表示每, 如果第一位 使用 */5 表示每5分钟
    • “-”表示数值范围,“ ,”用来隔开离散的数值,如第2位 是1-6,8 表示1点到6点,还有8点。

    还有一种方法可以添加计划任务,那就是自己编辑/etc/crontab (cron服务每分钟也读取一次/etc/crontab文件)

    在文件的末尾添加计划任务,格式和上述方法完全一样。

    /etc/crontab里面还有其他的东西:

    MAILTO=root //如果出现错误,或者有数据输出,数据会作为邮件发给这个帐号 0 1 * * * * root run-parts/etc/cron.hourly   //每个小时去执行一遍/etc/cron.hourly内的脚本 02 4*** root run-parts/etc/cron.daily    //每天去执行一遍/etc/cron.daily内的脚本 224**0 root run-parts/etc/cron.weekly   //每星期去执行一遍/etc/cron.weekly内的脚本 4241** root run-parts/etc/cron.monthly   //每个月去执行一遍/etc/cron.monthly内的脚本

    注意上面的 run-parts 参数,如果去掉run-parts ,后面就要跟某个脚本名,如果加上run-parts参数,后面就要跟目录名了。

    示例

    • 每天1点向某个文件写入一段话
    0   1   *  *  * echo "hello elesos" >> /tmp/test.txt 

    • 每5分钟执行一个程序或者命令
    */5  *  *  *  *   执行的命令 

    • 每隔1分钟向文件输出”hello elesos”
    */1 * * * * echo "hello elesos" >> /data/leijh/test.txt 

    可通过tail -f text.txt进行验证,或查cron的日志tail -f /var/log/cron

    • 执行脚本

    先新建一个output.sh脚本

    echo "hello elesos" >> /data/leijh/output.txt 

    再修改计划任务

    */1 * * * * /data/leijh/output.sh 

    也能达到同样效果。

    艺搜参考

    http://os.51cto.com/art/201011/233945.htm

    http://os.51cto.com/art/201003/187722.htm

    http://aub.iteye.com/blog/1326200

  • 相关阅读:
    异常之*** buffer overflow detected ***
    多媒体开发之视频回放---dm642 做rtsp 视频回放功能
    理财---炒股之kdj
    多媒体开发之rtp 打包发流--- 从h264中获取分辨率
    多媒体开发之rtsp 实现rtsp over tcp/http/udp---rtsp发送
    tomcat 简介
    tomcat 的安装
    rsync + inotify-tools实现文件的实时同步
    python 生成器
    ansible 常用模块
  • 原文地址:https://www.cnblogs.com/elesos/p/6074306.html
Copyright © 2011-2022 走看看