Centos
cronjob 是否可以在 MySQL 啟動之前啟動?
我在 CentOS 7 上,如果我輸入:
* * * * * python script.py
有用。
如果我放:
@reboot python script.py
然後它說它無法連接到 MySQL。
如果我也從命令行執行它,它可以工作。
如果我這樣做,該腳本才不起作用
@reboot
。cronjob 是否可能在 MySQL 之前啟動?
是的,這是可能的(而且很有可能)。
一個粗略的解決方案是指示您的腳本休眠一段時間。例如,如下更改您的 cron 行:
* * * * * sleep 60; python script.py
這將等待 60 秒,這應該讓 MySQL 有時間啟動。
如果您必須絕對確定 mysql 程序在您的腳本執行之前啟動,您可以編寫一個這樣的 shell 包裝腳本(讓我們稱之為
custom_wrapper
):#!/bin/bash 雖然是真的;做 執行=`ps 斧頭 | grep mysql`; 如果 [ $running -eq 0 ]; 然後 蟒蛇腳本.py 退出 $? 是 睡覺 5 完畢
然後,設置為執行檔 (
chmod +x custom_wrapper
) 並修改您的 cron 行,如下所示:* * * * * custom_wrapper
自定義包裝腳本等待 MySQL 程序啟動,然後執行您的 python 腳本並退出。