Ubuntu下 cron 服务的使用

1周前 28次点击 来自 其他

标签: Linux

启动 cron 服务

通常 ubuntu 下自带 cron,如果没有也可以通过以下命令进行安装:

apt-get install cron

若已经安装,输入以下命令判断 cron 服务是否启动:

pgrep cron

如果有 pid (一串数字)输出则说明 cron 服务已经启动,没有任何输出说明需要手动启动 cron 服务。
启动 cron 服务:

service cron start

cron 的所有任务计划都记录在 crontab 任务计划文件中,通过 crontab 命令对该任务文件进行管理。

usage: crontab [-u user] file
       crontab [ -u user] [ -i ] { -e | -l | -r }
               (default operation is replace, per 1003.2)
       -e      (edit user's crontab)
       -l      (list user's crontab)
       -r      (delete user's crontab)
       -i      (prompt before deleting user's crontab)
  • -u user指定用户
  • -e 编辑某个用户的计划任务文件,若不指定用户,默认编辑当前用户的计划任务文件
  • -l 显示某个用户的计划任务文件,若不指定用户,默认显示当前用户的计划任务文件
  • -r 删除某个用户的计划任务文件,若不指定用户,默认删除当前用户的计划任务文件
  • -i 在删除之前推送确认提示

任务计划的语法格式如下:

m h dom mon dow command
0-59 0-23 1-31 1-12 0-7 command12

  • m: 表示分钟
  • h: 表示小时
  • dom: 表示日期
  • mon: 表示月份
  • dow: 表示星期
  • command: 预执行的命令

另外需要使用一些特殊符号实现灵活的配置:

  • * 代表所有值
  • / 代表“每”
  • - 代表范围
  • , 分割数字

指定具体执行时间

2   *  *  *  * ls    #每个小时的第2分钟执行一次 ls 命令
30  7  *  *  * ls    #每天7:30执行一次 ls 命令
30 20  *  *  2 ls    #每周二,20:30执行一次 ls 命令(0和7表示星期天)

指定间隔时间

*/2 *  *  *  * ls    #每隔2分钟执行一次 ls 命令

指定时间段

30  7 3-6 *  * ls    #每个月的3,4,5,6号的7:30分各执行一次 ls 命令

指定多个时间

30  7 3,6 *  * ls    #每月的3号和6号的7:30分各执行一次 ls 命令

m h dom mon dow   command
30 7 * * * run-parts /home   #每天7:30运行 /home 目录下的所有脚本

每隔30分钟重启一次server

*/30 * * * * /sbin/reboot
*/30 * * * * root /sbin/shutdown -r now

每个小时的第30分钟重启一次server

30 * * * * /sbin/reboot

每分钟执行一次server_running.py

/home/devler/server_running.py

 #coding:utf-8
 import time
 t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
 str = 'server is running:' + t + '\n'
 print str

touch server_running.log

crontab -e

*/1 * * * * python3  /home/dailei/server_running.py  >>  /home/dailei/server_running.log  2>&1

tip

清空log命令

echo "" > server_running.log

2>&1

目前不理解具体意思

开机启动后执行sh脚本

https://askubuntu.com/questions/814/how-to-run-scripts-on-start-up

Running crontab -e will allow you to edit your cron.
Adding a line like this to it:

@reboot root /path/to/script

will execute that script once your computer boots up.

赋予可执行权限

chmod +x myscript.sh
@reboot root cd /home/me/  && sh myscript.sh
Card image cap
开发者雷

尘世间一个小小的开发者,每天增加一些无聊的知识

本站文章全部采用 CC BY 4.0 协议,欢迎转载

技术文档 >> 系列应用 >>
热推应用
Let'sLearnSwift
学习Swift的入门教程
PyPie
Python is as good as Pie
标签