Files

使用 SCP/SFTP 刪除遠端伺服器上超過 X 天的文件

  • January 21, 2021

有誰知道僅使用 SCP/SFTP 刪除遠端伺服器上超過 X 天的文件的好方法?當然,我可以在 perl 等上編寫一些腳本,但我覺得這太過分了。

任何UNIX方式?

單線?

單獨的實用程序?

謝謝

PS 任務是刪除一些過時的備份文件。

這個問題很老了,但我仍然想添加我的 bash 唯一解決方案,因為我來這裡時只是在尋找一個。列出命令中的 grep tar 只是為了我自己的目的,只列出 tar 文件,當然可以修改。

RESULT=`echo "ls -t path/to/old_backups/" | sftp -i ~/.ssh/your_ssh_key user@server.de | grep tar`

i=0
max=7
while read -r line; do
   (( i++ ))
   if (( i > max )); then
       echo "DELETE $i...$line"
       echo "rm $line" | sftp -i ~/.ssh/your_ssh_key user@server.de
   fi
done <<< "$RESULT"

這將刪除給定目錄中的所有 tar 文件,除了最後 7 個文件。雖然它沒有考慮日期,但如果您每天只有一個備份,那就足夠了。

引用自:https://serverfault.com/questions/184586