crontab

自动化git更新初步实践之crontab

星期一, 二月 20th, 2017 | JAVA-and-J2EE | 没有评论

启用crontab做自动化构建git代码步骤如下:

1. crontab -e 每5分钟执行一次输出执行结果到日志文件中

*/5 * * * * /home/wx.sh >> /home/wx.log 2>&1

2.踩坑wx.sh 的环境变量问题 一定要source /etc/profile 文件,其他指令也最好绝对地址

#!/bin/sh
source /etc/profile
cd /home/www/
/usr/local/git/bin/git pull
chown -R www:www /home/www

完毕

Tags: ,

Linux下crontab命令的用法的详解

星期二, 九月 11th, 2012 | linux | 没有评论

定时任务常用的一个功能,详细如下:

服务的启动和停止
cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

Linux代码

/sbin/service crond start  
/sbin/service crond stop  
/sbin/service crond restart  
/sbin/service crond reload

以上1-4行分别为启动、停止、重启服务和重新加载配置。

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。

查看、编辑和删除
cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。

file 使用file文件的内容作为某个用户的cron服务配置,内容会复制到cron服务的配置文件中
-u 设定某个用户的cron服务配置,一般root 用户在执行这个命令的时候需要此参数
-l 列出某个用户cron服务配置
-r 删除某个用户的cron服务配置
-e 编辑某个用户的cron服务配置,当指定crontab 不存在时新建,将使用vi打开配置文件进行编辑保存后退出,文件语法见后
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)

如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME (如 crontab -e -u USERNAME )即可。

crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。

cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。

语法说明

每行表示一个指令,即表示一项计划任务;每行由空格分隔的六个部分组成,前5部分表示定时任务的执行时间,剩余部分为定时任务要执行的命令,格式如下:

分 小时 日 月 星期 命令
Minute Hour Day Month DayOfWeek command
Minute 每个小时的第几分钟执行该任务,0-59
Hour 每天的第几个小时执行该任务,0-23
Day 每月的第几天执行该任务,1-31
Month 每年的第几个月执行该任务,1-12
DayOfWeek 每周的第几天执行该任务,0-6,0表示周日
Command 指定要执行的程序
以上前五项可使用以下四个特殊符号:
* 表示所有数值,如第一位使用* 表示每分钟
/ 表示每,如第一位使用 */5 表示每5分钟
– 表示数值范围,如第二位使用2-4表示2点到4点
, 表示离散的多个数值,如第2位使用6,8 表示6点和8点
指定“步长”:8-14/2 表示8,10,12,14
指定列表:比如 “1,2,3,4″,”0-4,8-12″
在每行的六项字段中,除了Command是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
› Continue reading

Tags: , ,

Search

文章分类

Links

Meta