Linux
crontab 在安裝 nfs 之前執行
執行 Cronjob @reboot 返回 nfs 共享上的文件不存在。
例子
@reboot python /abs/path/to/script.py
啟動時來自 crontab 的郵件顯示“或多或少”
/usr/bin/python can't open file "/abs/path/to/script.py": [Error No. 2] No such file or folder.
腳本可以毫無問題地從命令行執行。
理論上是 cronjob 是在 mount 執行之前執行的。
問題。
- 這個理論正確嗎?
- 有沒有辦法強制工作在安裝驅動器之前一直哭泣?…. 除了將 sleep 60 放入命令之外。;) 我已經嘗試過了,但是它碰巧了,我需要腳本在 100% 的時間內快速執行。
您可以使用mountpoint命令確保在執行命令之前已進行安裝,例如(假設 /abs 是安裝點)
#!/bin/bash while true do if mountpoint -q /abs then /usr/bin/python /abs/path/to/script.py break fi sleep 10 done
我不確定問題是什麼,因為 cron 在聯網後啟動。(至少在 Red Hat 和衍生產品中。)您的掛載是否
/etc/fstab
帶有_netdev
選項或其他位置?在啟動時執行某些內容的標準方法是將其包含在
/etc/rc.local
. 這將在網路初始化並啟動所有其他服務後執行。(包括安裝遠端文件系統。)(或者是否有理由只在文字重啟後執行腳本?)