
例如,我有一個 php 檔案位於:
/data/web/process.php
該檔案不是公開可用的(該資料夾中沒有運行虛擬主機,但安裝了 apache)。我需要每天每分鐘執行這個文件。
我知道我可以使用 開啟 crontab crontab -e
,但我不確定我到底該在檔案中寫入什麼內容,以便我需要做的事情運作。
有什麼幫助嗎?
答案1
運行crontab -e
並添加行:
* * * * * /usr/bin/php -f /data/web/process.php 2>&1 >> /path/to/output/file.log
在執行此操作之前,請確保它/usr/bin/php -f /data/web/process.php
符合您的要求。另請注意,該 cron 將以調用 的相同用戶身份運行它crontab -e
,因此,如果您以用戶 rimmer 身份運行它,它將以 rimmer 身份運行,如果以 root 身份運行,它將以 root 身份運行。
如果您希望它以 apache 使用者身分執行,請執行以下操作:
sudo -u www-data crontab -e
假設 www-data 是您的 apache 使用者。您也可以建立一個文件/etc/cron.d/my-php-job
。
確保沒有壞人可以編輯 /data/web/process.php 檔案並仔細檢查該檔案。我會將這個檔案設為 root 擁有並擁有 644 權限。不要將其設定為 apache 使用者擁有且可寫入。
答案2
請嘗試以下操作:
/path/to/php -f /data/web/process.php