2
我正在使用rsync設置備份。我想使用指向它的符號鏈接指定根源目錄,但對於其他歸檔樹,我想保留符號鏈接。是否可以用rsync進行備份,遵循根符號鏈接,但保留其餘的符號鏈接?
此外,我想保留作爲備份存檔中的根的符號鏈接名稱。
此設置(可能會或可能不會很聰明)的原因是源代碼是版本控制的應用程序,其中版本號會隨着時間的推移而增加。我只想備份最新版本,我希望rsync從備份存檔中刪除較舊的文件。
示例源:
source_symlink -> source-1.2.3
source-1.2.3/
file1.txt
dirA/
fileA.txt
symlink_fileA -> dirA/fileA.txt
如果我試圖備份此與
rsync -av --delete source_symlink destination_dir
我只是得到我的目的地裏面的符號鏈接的副本;像這樣:
destination_dir/
source_symlink -> source-1.2.3
即一個指向一個不存在的目錄的符號鏈接。
如果我自己解析符號鏈接,例如像這樣:
rsync -av --delete $(readlink -f source_symlink) destination_dir
我得到如下:
destination_dir/
source-1.2.3/
file1.txt
dirA/
fileA.txt
symlink_fileA -> dirA/fileA.txt
這是確定的,直到我改變符號鏈接,例如下一版本;例如source_symlink -> source-2.0.0
。在這種情況下,我結束了在歸檔副本:
destination_dir/
source-1.2.3/
source-2.0.0/
我想是根符號鏈接之後,但是符號鏈接的其餘部分將被保留。此外,我想在目標目錄中有符號鏈接名稱。像這樣:
destination_dir/
source/
file1.txt
dirA/
fileA.txt
symlink_fileA -> dirA/fileA.txt
這是可能實現的嗎?