linux crontab 定时任务

参考教程:https://www.runoob.com/linux/linux-comm-crontab.html

语法


crontab [ -u user ] file


crontab [ -u user ] { -l | -r | -e }

说明:


crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。


-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。


参数说明


  • -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  • -r : 删除目前的时程表
  • -l : 列出目前的时程表

例:
# 每天23点执行thinkphp command指令
# 格式:项目路径/think Tanma名字(config/console.php中配置的command名字) call_log(添加的需传递的参数值)
例1: 00 23 * * * php /home/wwwroot/test_educrm/think Tanma call_log
例2: 59 23 * * * source /etc/profile;java -Djava.library.path='.' /home/wwwroot/message/src/StartRun >>/home/wwwroot/message/src/run.log
  *    *    *    *    *
  -    -    -    -    -
  |    |    |    |    |
  |    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 0)
  |    |    |    +---------- 月份 (1 - 12) 
  |    |    +--------------- 一个月中的第几天 (1 - 31)
  |    +-------------------- 小时 (0 - 23)
  +------------------------- 分钟 (0 - 59)

 

#crontab -e 添加命令后直接wq保存即可,无需重启

#java命令: java -Djava.library.path='.' StartRun

#source /etc/profile;     加载环境变量  

#解释:crontab无法加载/etc/profile环境变量解决方法,执行任何任务之前加载一下环境变量

#如:* * * * * source /etc/profile && sh test.sh

#或者直接添加环境变量执行

#* * * * * export ENV="internal" && sh test.sh

#-D 指的java命令library path 路径
#目录:/home/wwwroot/message/src
# >>: 执行的结果写到run.log文件中,没有run.log会自动创建(追加写)

 

posted @ 2021-09-16 17:50  哦一哦啊啊  阅读(52)  评论(0编辑  收藏  举报