Files
使用 SCP/SFTP 刪除遠端伺服器上超過 X 天的文件
有誰知道僅使用 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 個文件。雖然它沒有考慮日期,但如果您每天只有一個備份,那就足夠了。