IM使用rsync通過bash腳本做日常備份的。保留備份
增量備份正在進入一個過時的文件夾,在此基礎上行腳本的
rsync -avz --link-dest=$LinkDest [email protected]:/data/backup/"$j" /home/backup/website/$f_date --bwlimit=10000 --log-file=/logs/rsync_"$j"_"$r_date".log
,所以我將結束與文件夾如下
2014-05-01 2014年5月2日 2014年5月3日
我想要做的就是讓一個腳本,一旦他們有30天,將刪除這些文件夾。
,所以我不帶 2014-05-01 2014-06-01
從而使我30天保留告終。
[更新] 繼承人另一種方法的想法,
,如果我改變備份腳本備份放置到一個名爲「月(日期+%B)」 /文件夾「日子(日期+%F)」
rsync -avz --link-dest=$LinkDest [email protected]:/data/backup/"$j" /home/backup/website/$m_date/$f_date --bwlimit=10000 --log-file=/usr/local/src/backup/logs/rsync_"$j"_"$r_date".log
我可以有另一個腳本來檢查月份是什麼,並刪除其他文件夾名稱?但我現在堅持以如何看待文件夾的內容,並刪除所有文件夾,但不是一個匹配m_date = $(日期+%B)
#!/bin/bash
LinkDest=/home/backup/website/
m_date=$(date +%B)
find $LinkDest . -maxdepth 1 -not -name "$m_date" -type f -exec rm {} \;
哎呀。考慮使用'-exec'標誌'find'甚至'找... -print0 | xargs -0'。正如所寫,這可能會導致相當危險的輸出。 – kojiro
或者使用'-delete'行動(應該可以在Linux上)。名爲'-rf'和'*'的文件是有問題的,否則。 – Mat
@kojiro ARG,確實如此。 '-exec'更優雅。 – Mureinik