同步时钟脚本在crontab中遇到的问题
2014-12-21 13:19
225 查看
时钟同步应该是集群维护中必需的事项之一了,可用下列脚本clock_sync.sh来实现:
使用which命令查看一下,发现service等四个命令的可执行程序都在/sbin或/usr/sbin目录下。原因清楚了:crontab执行时的命令搜索路径为<PATH=/usr/bin:/bin>,service等四个命令不在其搜索目录下,所以报错“command not found”。
解决方案为以下两者之一:
1. 修改/var/spool/cron/root为:
BTW:crontab相关知识
cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表。
cron有两种配置文件:一个针对系统任务的全局配置文件(/etc/crontab);一组针对单个用户的配置文件(/var/spool/cron/username),这是采用crontab命令生成的。定时任务配置到任意一个中都可以。
#!/bin/bash service ntpd stop ntpdate 192.168.0.191 service ntpd start chkconfig ntpd on该脚本手动执行正常。然后将其加入crontab:
0 * * * * clock_sync.sh假设上述操作都在root用户下完成。为了检查效果,查看/var/spool/mail/root文件,发现了如下关键字:
X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> clock_sync.sh: line 2: service: command not found clock_sync.sh: line 3: ntpdate: command not found clock_sync.sh: line 4: service: command not found clock_sync.sh: line 5: chkconfig: command not found看来脚本确实执行了,但是为什么找不到service等四个命令呢?
使用which命令查看一下,发现service等四个命令的可执行程序都在/sbin或/usr/sbin目录下。原因清楚了:crontab执行时的命令搜索路径为<PATH=/usr/bin:/bin>,service等四个命令不在其搜索目录下,所以报错“command not found”。
解决方案为以下两者之一:
1. 修改/var/spool/cron/root为:
#!/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin 0 * * * * clock_sync.sh2. 在/etc/crontab文件的最后添加:0 * * * * clock_sync.sh
BTW:crontab相关知识
cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表。
cron有两种配置文件:一个针对系统任务的全局配置文件(/etc/crontab);一组针对单个用户的配置文件(/var/spool/cron/username),这是采用crontab命令生成的。定时任务配置到任意一个中都可以。
相关文章推荐
- 【linux】crontab运行python脚本遇到的问题
- crontab 定时执行shell脚本遇到的问题
- 配置crontab定时执行调用java程序的shell脚本遇到的问题
- WIN7下的WCF遇到的问题:HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 解决VMWare虚拟机时钟同步的问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- crontab定时执行bash脚本出现错误 手动没有问题
- 用python编写ASP脚本时遇到的问题,初步的解决方法,目前正在寻找更好的解决办法。
- 在看一个经典教材写的crontab时遇到的点小问题
- 用信号量做进程同步解决生产者和消费者遇到的奇怪问题
- linux设置crontab时遇到的两个问题
- 遇到"无效的默认脚本语言..."问题的解决办法
- 求助 IIS 7 在设置脚本映射时遇到权限问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 今天遇到了"从不同步的代码块中调用了对象同步方法"问题