我有一個cron作業設置,它使用腳本在設定的時間將多個文件從FTP下載到本地服務器。當我手動運行腳本時,它工作得很好,它甚至可以通過cron在10次中的9次中完全正常工作。但是,有時它的設置以獲取文件1失敗,它拋出一個類似的錯誤這樣的:'ftp_get:打開BINARY模式數據連接' - 在批處理中發生在單個文件中
ftp_get(): Opening BINARY mode data connection for Media_4.zip (421623342 bytes). in /home/crons/feeds/get_files.php on line 102
線102是ftp_get(),我知道有什麼不妥,因爲它工作正常運行時手動/等自動化的嘗試,但完全清晰:
foreach ($download_files as $download_file)
{
$local_file = "{$path}/files/{$download_file}";
$download = ftp_get($conn_id, $local_file, $download_file, FTP_BINARY);
if (!$download)
{
ftp_dl_log($queue_number, "FTP download has failed for $source_name: $download_file", "warn");
}
else
{
ftp_dl_log($queue_number, "Downloaded file successfully");
}
}
我懷疑它的任何與文件大小,權限,或類似的東西,總有在多個文件〜2GB蔓延總下載,有時它似乎只是在其中一個文件失敗,所有其他文件檢索沒有問題,所以我很困惑。所有文件的例子是:
Media_1.zip (600mb, downloads fine)
Media_2.zip (200mb, downloads fine)
Media_3.zip (700mb, downloads fine)
Media_4.zip (400mb, downloads fails)
Media_5.zip (300mb, downloads fine)
Media_6.zip (250mb, downloads fine)
Media_summary.csv (2mb, downloads fine)
大小限制不是一個問題,也不是一個超時發生的問題。
我作爲一個例子文件上傳到FTP @
Oct 31 17:27
和ftp_get()的文件發生@
Nov 01 03:14
所以它不可能是該文件在請求時不完整。並考慮到我可以ftp_get()相同的文件沒有錯誤後,它不是腐敗。
有誰知道任何可能導致此問題的其他事情嗎?服務器能否同時執行其他提取操作會導致問題?
任何建議或見解將受到歡迎。
我已經仔細研究了這一點,這是我的基本感受。 crons組織糟糕,所以我會試試這個,並且讓它知道它是否有用,謝謝。 – MLeFevre