2017-05-23 103 views
0

工作,我有此腳本上膩子(PHP服務器)運作良好bash腳本會在cron的

應該像2017年5月5日與名字將所有從目錄的/ home /預約到/ home /預訂/ inmo

你能幫我把它當作cronjob嗎?

#! /bin/bash 
for i in $(ls /home/reservation |egrep "^20??-??-??");do mv /home/reservation/$i /home/reservation/inmo;done 
+0

從cron調用bash文件? '0 0 * */path/to/myBASH.sh' – rtfm

+0

Googling可以找到多個教程。例如:https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ – quinz

+0

非常感謝你。我與OVH和cronjob是很奇怪的。它嘗試後停用它! – amorino

回答

1

對於可運行的php腳本,它應該在第一行包含#!/path/to/php。根據@symcbean的評論,您應該運行chmod +x /path/to/your_php_script以使腳本可執行。


對於誰擁有特權運行此腳本,只需鍵入命令

$ crontab -e 

並如下加入您的工作,可運行腳本的用戶:

# every day 23:59 will run this script 
$ 59 23 * * * /path/to/your_php_script 

# every January 2rd 23:59 will run this script 
$ 59 23 2 1 * /path/to/your_php_script 

# every friday 23:59 will run this script 
$ 59 23 * * 5 /path/to/your_php_script 

# every 5 minutes will run this script 
$ */5 * * * * /path/to/your_php_script 

如果管理在服務器中禁用crond,另一種可以嘗試的方式是runni定期將你的php腳本作爲一個守護進程。

+1

In除了s將第一行設置爲'#!/ usr/bin/php',您還需要在文件上設置相關的執行位(通過網絡服務器運行時不需要)。 – symcbean

+0

或只需通過php cli調用'59 23 * * * php/path/to/your_php_script.php'然後你不需要 – rtfm