原创

Linux定时任务(使用crontab)的实现

借助linux下自带的crontab即可实现定时任务。

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

参数:

-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;

-e: 编辑crontab 的工作内容;

-l: 查阅crontab的工作内容;

-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。


crontab -e

#此时会进入vi的编辑界面让你编辑工作。注意到,每项工作都是一行。

 0    12   *   *   *   bash xx.sh //你要执行的shell脚本或其它linux命令
#分   时   日   月  周  |《==============命令行=======================》
代表意义 分钟 小时 日期 月份 命令
数字范围 0~59 0~23 1~31 1~12 0~7 就是命令啊

当周的数字为0或7时,都代表“星期天”的意思。另外,还有一些辅助的字符,大概有下面这些:

特殊字符 代表意义
*(星号) 代表任何时刻都接受的意思。举例来说,日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号) 代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command时间还是有五列,不过第二列是 3,6 ,代表3与6都适用
-(减号) 代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:20 8-12 * * * command仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思/n(斜线) 那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:/5 * * * * command用与/5来搭配,也可以写成0-59/5,意思相同
  1. 为当前用户创建cron服务

    键入 crontab -e 编辑crontab服务文件

    例如 文件内容如下:

    */1 * * * * bash /root/s.sh >>/root/log
    

    然后保存文件并并退出。
    会提示:crontab: installing new crontab ,表示创建成功。
    让输入 crontab -l即可显示创建了的定时任务。
    pic

  2. 启动crontab服务

    一般默认都是启动的,要是没有启动,就使用下面的方法。

    一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意 下 不同版本linux系统启动的服务的命令也不同 ,像我的虚拟机里只需用 sudo service cron restart 即可,若是在根用下直接键入service cron start就能启动服务。

正文到此结束
本文目录