2013-08-01 37 views
0

PHP會話存儲在文件中。 php.ini被配置爲在最近3個小時內考慮垃圾所有「較舊」(未被修改)的會話。 /etc/cron.d/php5中有一個cronjob,用於刪除會話。它配置爲每30分鐘運行一次,我想將其更改爲每小時一次。我如何修改它? crontab -l命令沒有列出該cronjob。爲什麼?謝謝PHP垃圾回收器cronjob每3小時運行一次

+0

使用crontab的'命令-e'從一個運行cron作業編輯 – bansi

+0

我怎麼知道該帳戶?作爲根,我無法使用crontab -l命令獲取該信息。它不在那裏列出。相當新手使用cron.d – kitimenpolku

+0

嘗試在$(cut -f1 -d:/ etc/passwd)中爲用戶;做echo $ user; crontab -u $ user -l;完成'作爲根,這將列出哪些crontab正在運行,如果有的話。直接編輯該文件的 – bansi

回答

1

嗯,它不是在crontab中,它在/etc/cron.d/php5文件中。看看那裏。我的猜測是,這將是這樣的,從我的系統:

09,39 *  * * *  root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete 

只需修改時間爲每小時運行,而不是:

9 * * * * <<the rest here>> 
+0

將不會安裝cron作業。 – bansi

+0

正如班思所說,這是行不通的。不安裝cronjob。我該如何安裝它?在使用root帳戶時,Crontab -l不顯示該cronjob。 – kitimenpolku

0

如果你有一個已經運行的cron作業,就可以得到通過使用以下命令(需要root)運行作業的用戶。

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done 

一旦你得到它正在運行,你可以只su給該用戶,並使用crontab -e編輯作業的作業用戶。

如果您還沒有任何cron作業設置,您可以創建一個新的cron作業,如下所示。

  • 登錄用戶一個需要運行該腳本
  • 運行crontab -e(這將彈出編輯)
  • 沒有添加你的工作。

您可以在編輯器中添加以下任何命令來設置每小時cron作業。

0 * * * * /path/to/your/script/to/execute 

@hourly /path/to/your/script/to/execute 

約cron的附加信息可以在這裏找到https://en.wikipedia.org/wiki/Cron