如何透過ftp或ssh刪除大量檔案?

如何透過ftp或ssh刪除大量檔案?

在我的伺服器上,我一直使用的腳本之一不斷在根目錄創建空白文件,並且我已經超過 6 個月沒有被注意到,現在創建的文件總數超過 500,000 個。

我無法透過控制面板存取該目錄,因為檔案太多,只能使用 ftp 存取。即使使用 ftp,ftp 也會將每個檔案截斷 8000 個。所以我必須繼續每人刪除8000個。

我試圖要求我的房東幫我刪除它,但他們說他們不能,因為這是責任問題。

那麼我想知道如何透過 ftp 刪除所有這 500,000 個檔案?由於它是共享主機,因此我也沒有 SSH 存取權限。託管提供者說我可以請求 SSH 訪問,但需要驗證它,他們的辦公室直到下週才關閉。所以我現在只能使用 ftp 了。

所以請讓我知道如何透過 ftp 刪除大量檔案?

如果我可以獲得 ssh 存取權限,請告訴我如何透過 ssh 以有效的方式刪除檔案?

檔案名稱是這樣的

  • closecp.139619
  • closecp.139619.1
  • closecp.139620
  • closecp.139620.1

答案1

作為薩姆指出我會在您的網站空間上放置一個 PHP 或 Perl 文件,這會從目錄中刪除文件。

確保您以外的任何人都無法輕易找到該腳本,並確保其中的值不會透過 POST 或 GET 被覆寫。

答案2

刪除這些檔案可能需要很長時間,預計在此期間 I/O 會很高。

本文中有很多關於如何刪除大量文件的有用建議rm 包含數百萬個檔案的目錄

你的可能不會有數百萬,但速度會很慢。

答案3

最後我用ftp命令列搞定了。我在視窗中使用了“cmd”。

首先我需要關閉提示

prompt

然後用以下命令刪除

mdelete closecp.*

答案4

如果你可以 ssh 到盒子,你可以執行以下命令:

find /path/to/files -maxdepth 1 -name "closecp.*" -delete

這將在目錄 /path/to/file 中找到名稱為“closecp.*”(如您所述)的所有檔案(更改此檔案以適合您的情況)。 “-maxdepth 1”選項將使“find”命令不查找子目錄,只查找/path/to/file。

相關內容