2014-11-06 96 views
0

我需要檢查我是否正確執行此操作。通過cron運行腳本的正確語法

已經創建了兩個腳本來關閉和打開一個網站

close.sh

mv /path/public_html/.htaccess /path/public_html/.htaccess.bak 
mv /path/public_html/.htaccess.temp /path/public_html/.htaccess 

open.sh

mv /path/public_html/.htaccess /path/public_html/.htaccess.temp 
mv /path/public_html/.htaccess.bak /path/public_html/.htaccess 

這將使.htaccess.temp文件,然後不久禁用它之後。

我然後跑的crontab -e並建立

0 11 11 11 * /bin/sh /root/close.sh 
02 11 11 11 * /bin/sh /root/open.sh 

我是正確的我的crontab?我看到一些有/ bin/sh的條目,有些則沒有,所以不確定。

我對我的兩個腳本充滿信心,我只需要確保它們在每年11月11日上午11點分開運行。

非常感謝。

回答

0

你是正確的,即使0是可選的分鐘左:

0 11 11 11 * /bin/sh /root/close.sh 
2 11 11 11 * /bin/sh /root/open.sh 

維基百科:

# * * * * * command to execute 
# │ │ │ │ │ 
# │ │ │ │ │ 
# │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0) 
# │ │ │ └────────── month (1 - 12) 
# │ │ └─────────────── day of month (1 - 31) 
# │ └──────────────────── hour (0 - 23) 
# └───────────────────────── min (0 - 59) 

小心正確的權限設置爲你的.htaccess:

mv /path/public_html/.htaccess /path/public_html/.htaccess.temp 
mv /path/public_html/.htaccess.bak /path/public_html/.htaccess 
chown www-data:www-data /path/public_html/.htaccess 
+0

謝謝 - 我不熟悉www-data:www-data - 這涉及到什麼? – Ian 2014-11-06 11:25:55

+0

'www-data'是可以訪問你的'public_html'目錄的用戶。如果你把一個crontab作爲root用戶,並把文件放入'public_html','www-data'可能無法訪問它們。我們使用'www-data:www-data',因爲'www-data'用戶屬於'www-data'組。 [更多信息](https://wiki.archlinux.org/index.php/users_and_groups) – 2014-11-06 11:31:00

0

您可以使用以下命令驗證您的「sh」二進制文件的路徑:

which sh 

如果返回的路徑是「/ bin/sh」,那麼你可以讓這個路徑在你的crontab中。

+0

謝謝。路徑是正確的,更多的是一個人是否應該包括它。我會留下。 – Ian 2014-11-06 11:21:22