嵌入式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進程已經啓動!

以上內容參見大牛文章:

http://blog.csdn.net/suer0101/article/details/8052592

【問題】

實踐中發現問題如下:

在主機端開發板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

發佈了45 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章