我正在使用Laravel 5.1,Log設置爲每天生成。登錄Laravel 5.1的文件許可
我大量使用喬布斯。 Web服務器是Apache,因此PHP以apache
用戶身份執行,因此在一天結束時,apache用戶會生成一個新的日誌文件,並且文件權限爲0644
。我有通過由Apache用戶運行的Supervisor配置的工作人員。 (到目前爲止很好)
現在對於隊列中的隨機尖峯,我有一個腳本設置來運行更多的工人(消費者的隊列)。我面臨的問題是,由於日誌文件是以0644權限生成的,所以其他用戶沒有文件寫入權限。
幾個解決方案我能想到的是 -
-
從
- 啓動工作(不能做,因爲我沒有權限)
- 一個cron 00文件權限更改爲
0646
:每天00:00(也需要root) - 由當前用戶在00:00:00手動生成日誌文件,以便我有權將權限更改爲
0646
(不可靠,如果apache
創建它首先) - 在Unix SE網站啓動工作作爲
apache
用戶(因爲沒有根,所以這是不可能的) - This Question
root
用戶
所以我的問題是什麼是做到這一點的最佳方式,它看起來像一個普遍問題對我來說,任何開發者都可能面對。或者除了上面提到的方法之外,還有沒有更好的方法來做到這一點。
你不能使用supervisor api來啓動worker,所以它也可以作爲'apache'運行嗎? – ZeissS
我必須偶爾運行工作,再加上任何與主管相關的操作都需要sudo(如果我在這裏錯了,請糾正我) –
'/ etc/crontab /'有一個字段'',它可以啓動該用戶的cron –
Junaid