Bash

僅當文件存在時如何執行 crontab 作業?

  • July 28, 2022

是否可以在 crontab oneliner 中檢查文件是否存在,並且僅在該文件存在時才執行腳本?

虛擬碼:

* * * * * <if /tmp/signal.txt exists> run /opt/myscript.sh

使用普通測試是否存在,如果測試成功則執行腳本。

* * * * *       if [ -e /tmp/signal.txt ]; then /opt/myscript.sh; fi

或者

* * * * *       if test -e /tmp/signal.txt; then /opt/myscript.sh; fi

或者,使用短路語法,

* * * * *       [ -e /tmp/signal.txt ] && /opt/myscript.sh

或者

* * * * *       test -e /tmp/signal.txt && /opt/myscript.sh

如果您想另外確保它是正常文件而不是目錄、命名管道或其他類型的文件,則可以使用-f測試而不是測試。-e``/tmp/signal.txt

引用自:https://unix.stackexchange.com/questions/711595