在安装 nfs 之前运行 Crontab

Rus*_*ber 10 linux nfs cron

运行 Cronjob @reboot 返回 nfs 共享上的文件不存在。

例子

@reboot python /abs/path/to/script.py
Run Code Online (Sandbox Code Playgroud)

启动时来自 crontab 的邮件显示“或多或少”

/usr/bin/python can't open file "/abs/path/to/script.py": [Error No. 2] No such file or folder.
Run Code Online (Sandbox Code Playgroud)

脚本可以从命令行运行,没有问题。
理论上是在运行 mount 之前 cronjob 正在运行。
问题。

  1. 这个理论正确吗?
  2. 有没有办法强制作业在安装驱动器之前哀号?.... 除了在命令中放入 sleep 60 之外。;) 我已经试过了,但它时好时坏,我需要脚本在 100% 的时间内快速运行。

use*_*517 18

您可以使用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
Run Code Online (Sandbox Code Playgroud)

  • +1 我从未听说过 `mountpoint` - 这非常有用! (4认同)