锁定老帖子 主题:Linux中脚本文件的自动执行
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-13
最后修改:2010-04-14
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: 当然运行时不指定/sbin/也可以的。 或者 service crond start 现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用 大致说来有两种方式: 如果这个脚本文件的运行有权限上的限制,用 方法一: 直接用crontab命令编辑
也可写为 crontab -e,可以为当前的用户编辑自动执行的脚本。上面那个命令一般为root用户为其他用户指定的时候才用。 接着编写一个指令: //每隔一分钟执行一次 */1 * * * * 路径/脚本文件名 如果命令太多,可以采取写一个文本文件的形式,然后调用。如下:
补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export) (1)先建一个文件crond.txt如下, 每天早上5点36分重新启动 36 5 * * * reboot (2)上传到/opt目录 (3)运行命令 crontab /opt/crond.txt crontab -l 让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。 在Fedora 和Redhat中,我们应该用; [root@localhost ~]# /etc/init.d/crond restart 如果让crond 在开机时运行,应该改变其运行级别; [root@localhost ~]# chkconfig --levels 35 crond on service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务
每次执行过后,系统会向用户发出一封邮件通知 /var/spool/mail/<USERNAME> 注意,邮件通知里记录的调用脚本时间是脚本执行结束的时间,或者还有一定的延时。若是你不希望收到这样的信,在每一行空一格之后加上 > /dev/null 2>&1 即可。
如果没有权限的限制可以把它指定为系统的一个定时运行的脚本,就用 方法二: 编辑/etc/crontab 文件配置cron
PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/ //使用者运行的路径,这里是根目录 # run-parts 01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
/usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作
需要记住的几个命令重启命令: /etc/rc.d/init.d/crond restart service crond restart 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 7431 次