嵌入式linux开机启动crond,嵌入式linux下使用busybox的crond服务的方法+问题及解决...

crond是一个服务,一个守护进程。crond 是linux用来定期执行程序的命令,crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

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

按照网上查找的资料执行时经常会碰到这种错误:

crontab: chdir(/var/spool/cron/crontabs): No such file or directory

所以首先创建这样一个目录吧!

#mkdir -p /var/spool/cron/crontabs

然后编辑要执行的任务

#crontabs -e

0 */1 * * * /sbin/ntpdate 192.168.1.67 >/dev/null 2>&1 每隔一个小时更新下时间,不打印任何信息

最后,执行下

#crond

此时你会发现/var/spool/cron/crontabs下有一个跟用户名相同的文件,保存着要执行的任务。

ps下会发现cron进程已经启动!

以上内容参见大牛文章:

【问题】

实践中发现问题如下:

在主机端开发板NFS目录下var里新建的文件夹在开发板的/var下面查看,并未找到文件夹,同样在开发板端/var目录下新建的文件夹或者文件,在主机端也没有出现,最后感谢王师傅,得到了解决方案与原因:

【原因】

var下面很多文件一直在刷新,电脑硬盘无所谓,嵌入式存储用的flash,擦写多了严重影响寿命,所以var目录下的内容实际为内存虚拟的,并不存在与flash之中。

【解决方案】

在开发板/etc/crontabs/下建立crontab的配置文件root:

* * * * * /myupdate/update

每分钟执行update一次

然后在/etc/init.d/rcS修改,让开发板每次启动之后自动执行:

mkdir -p /var/spool/cron/crontabs#guoshufanADD

cp -p /etc/crontabs/root /var/spool/cron/crontabs #guoshufanADD

chmod 777 /var/spool/cron/crontabs/root#guoshufanADD

crond#guoshufanADD

echo "cp cron config file to /var/spool/cron/crontabs"#guohufanADD

即新建crontab配置文件目录,然后将配置文件按拷贝至新建目录下,完美解决问题,不过要记得执行chmod命令,以后只需要修改root中的内容就可以改变crontab配置,不过临时修改配置还是需要去/var/spool/cron/crontabs内的rooot文件,永久修改是修改/etc/crontabs/root,重启生效。

【问题】

本人执行cp命令之后,开发板并不执行crontab任务,各种crond reload restart之后,还是不行,最后查看文件的属性,恍然大悟。

【原因】

开发板登录是以管理员的身份登录,但是建立/etc/crontabs/root文件并不是开发板的root,而是主机的root,这两个root当然不同啦,ls -l后发现root的所有者与所在组果然不是root,而是莫名其妙的1000!所以说,root文件所有者与所在组必须都是root,知道原因就好办啦!

【解决】

需要添加更改文件所有者与所在组的命令。

chown root root

chgrp root root

所以,rcS文件内添加的内容应该为:

mkdir -p /var/spool/cron/crontabs #guoshufanADD cp -p /etc/crontabs/root /var/spool/cron/crontabs #guoshufanADD chmod 777 /var/spool/cron/crontabs/root #guoshufanADD  chown root /var/spool/cron/crontabs/root #guoshufanADD chgrp root /var/spool/cron/crontabs/root #guoshufanADD crond #guoshufanADD echo "cp cron config file to /var/spool/cron/crontabs" #guohufanADD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值