Linux

crontab 在安裝 nfs 之前執行

  • October 9, 2012

執行 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 執行之前執行的。

問題。

  1. 這個理論正確嗎?
  2. 有沒有辦法強制工作在安裝驅動器之前一直哭泣?…. 除了將 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. 這將在網路初始化並啟動所有其他服務後執行。(包括安裝遠端文件系統。)

(或者是否有理由只在文字重啟後執行腳本?)

引用自:https://serverfault.com/questions/436048