不久前,用lxr 搭建了android 源码的索引平台,需要定时更新分支代码,于是采用linux 定时运行命令脚本来实现的。
Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep cron
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
我的环境是ubuntu 10.10 ,cron配置文件在
/var/spool/cron/crontabs目录,目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如我的用户名beaver建的crontab任务对应的文件就是
/var/spool/cron/crontabs/beaver。
编辑crontab文件,crontab 文件格式是
minute hour day-of-month month-of-year day-of-week commands,合法值是 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
例如 每天早上6点打印 Good morning.
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
另外一个很重要的点:
如何避免绝对路径复杂的设置?
例如我想执行某个路径下的sh 脚本,如果我设置为:
30 * * * * /home/beaver/indexed-scr/branch_name/fresh.sh
在日志文件中提示找不到 xxx.sh 路径
这是因为在crontab中使用了绝对路径执行脚本 fresh.sh,因此在脚本 fresh.sh 中引用的其它脚本也都需要使用绝对路径,才能被crontab找到并执行
而采用如下设置可以避免该错误
30 * * * * cd /home/beaver/indexed-scr/branch_name && ./fresh.sh(建议使用此方式,先进入该目录,然后在执行脚本;否则,执行脚本中的其它脚本都需要加绝对路径)
以上是我工作中用到的几点,关于crontab 的更多设置 请参考如下链接:
http://blog.csdn.net/sunboy_2050/article/details/6817019
分享到:
相关推荐
Linux 系统中的定时脚本 crontab 是一个功能强大的工具,允许用户在指定的时间执行特定的命令或脚本。然而,在使用 crontab 执行 jar 文件时,如果输出结果包含中文字符,可能会出现乱码问题。本文将探讨该问题的...
NULL 博文链接:https://caoyaojun1988-163-com.iteye.com/blog/1698192
Crontab 命令详解
Linux定时执行程序--Crontab借鉴.pdf
Linux定时执行程序--Crontab.docx
linux定时执行程序--crontab().pdf
定时启动,* 8,18 * * * /test/test.sh 这里设置每天的上午8点到下午6点之间每分钟执行一次脚本 /test/test.sh 是shell脚本的绝对路径 ...设置好后重启crontab服务,命令如下: service crond restart 设置完成
crontab介绍,命令详解。使用说明格式说明例子说明
Linux后台运行命令最简的就是使用快捷键来完成,但是还是会有些其他的Linux后台运行命令例如cron和crontab这两个命令,这两个命令可以设置一些定时的任务,涉及进程调度,这里加以详细介绍。
Linux下定时执行脚本的设置,作了具体的用法说明。
主要介绍了Linux定时任务的设置及 crontab 配置指南,需要的朋友可以参考下
Linux 中的定时器命令--crontab crontab 是 Linux 中的一个定时器命令,允许用户在固定时间或固定间隔执行程序。它类似于用户的时程表,能够让用户在特定的时间执行特定的程序。 使用权限:所有用户都可以使用 ...
利用Crontab为Linux定时备份Mysql数据库
做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本...
crontab命令的功能是在一定的时间间隔调度一些命令的执行。
今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,...
Linux 定时执行 Crontab 命令使用介绍借鉴 Linux 系统中的 Crontab 命令是一个非常有用的工具,用于在指定的时间执行某个任务或命令。Crontab 命令是基于 Cron 服务的,它可以让用户在指定的时间执行某个任务,例如...
项目流量过大时,数据新增变更量大,及时入库会出现同时给一张表做新增、修改,从而导致锁表,这时候可以将修改导成sql文件后入库,来缓解数据库压力
利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh