crontab 中的 youtube-dl 顯示“[Errno 13] 權限被拒絕”

crontab 中的 youtube-dl 顯示“[Errno 13] 權限被拒絕”

我在Debian上。我嘗試為 youtube-dl 做 cron 工作。它由每日腳本組成,從午夜開始。當我手動執行腳本時,一切都運作良好。但是,當我使用 cron 作業時,出現以下錯誤:

ERROR: unable to open for writing: [Errno 13] Permission denied: '/media/Video/...

cron 如下:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
@daily /usr/local/bin/youtube-dl-script.sh >> /var/mail/nextcloud 2>&1

我明白,某處有權限問題,但我不知道該如何解決。

供你參考 :

  • 目標資料夾 ( /media/Video/) 的擁有者/群組是:(www-data所有者)、wwww-data (群組)
  • 腳本的所有者/群組是:(nextcloud所有者),root (群組)
  • nextcloudroot屬於該組www-data
  • 且目標資料夾(/media/Video/)權限為770(所有者/群組可以讀取/寫入/執行,其他人不能執行任何操作)。

拜託,你能幫我嗎?我見過類似的主題,但解決方案並不成功,因為問題不完全相同。非常感謝。

編輯(舊狀態):到目前為止,我已嘗試透過遵守規則(刪除/ group擁有的副檔名和腳本)來複製資料夾youtube-dl-script.sh中的腳本( ) 。並檢查給我這個輸出:/etc/crontab.daily.shrootrootcat /etc/crontab

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

所以,正常情況下,它應該在今天早上 6:25 起作用,但它沒有!

我發現其他腳本有-x最後一點,因此,我製作了chmod +x youtube-dl-script.

  • 在此之前,腳本是-rwxr-x--- 1 root root 1682 juin 16 02:24 /etc/cron.daily/youtube-dl-script.

  • 現在它是-rwxr-x--x 1 root root 1682 juin 16 02:24 /etc/cron.daily/youtube-dl-script

我現在必須等到明天早上 6:25 才能看看這是否有效。

編輯2(當前狀態): 所以它不起作用。我什至做了這樣的chmod 755操作,以獲得與所有其他腳本相同的權限,並且我重新啟動了伺服器,但它不起作用。

非常奇怪的是,如果我這樣做run-parts --test /etc/cron.daily,我的腳本會被列出,所以它應該由cron.daily

如果您有任何想法,請隨時告訴我。謝謝。

答案1

好的,我已經找到解決方案了:

首先,我已將腳本移至/etc/cron.hourly,因為沒有anacron安裝,並且因為我想每小時使用它。但它沒有奏效。

然後我運行sudo service cron status只是為了檢查 cron 服務是否處於活動狀態。確實如此,但我還發現了一個有趣的警告,例如your token was expired, renew your token.所以我在網路上搜尋了這個錯誤訊息,發現我的root密碼需要更新,否則cron將無法正常運作。為了檢查這一點,我必須使用sudo chage -l root它來顯示我的 root 密碼是expired

因此,我更新了我的 root 密碼,sudo passwd root並再次檢查,sudo chage -l root結果表明密碼現在可以了。現在,一切都運行良好,並且 cron 正在按預期工作!

相關內容