我经过多次尝试后,在互联网上阅读了大量内容,但我无法找到解决问题的方法。
我尝试编写备份脚本并且我有一个命令来tar文件夹,但是--exclude拒绝工作。
文件夹结构如下:
Folder1/
---- Folder2
--------- Folder3
-------------- Folder4 -> ../../Folder1 (Symlink)
想法是创建Folder2的tarball,包括使用符号链接(Folder4)从Folder1中的文件,但不包括符号链接以避免循环。所以在bash文件中我有这个:
ln -s $Folder1 "$Folder2/$Folder3/Folder4"
EXCLUDE="'$Folder2/$Folder3/Folder4/$Folder2'"
tar --exclude=$EXCLUDE -cJhv backups | gpg2 --passphrase 'foo-bar' | ssh somwhere@space "mkdir -p /$BACKUP_NAME/finished-backups ; cat > /$BACKUP_NAME/finished-backups/$BACKUP_FILE_NAME_AND_PATH.gpg"
bash文件会生成这个,如果我直接在终端上运行就像魅力一样:
tar -cJhv --exclude="Folder2/Folder3/Folder4/Folder2" Folder2 | gpg2 --batch --passphrase "foo-bar" | ssh root@somewhere "cat > /root/test_stream/result.tar.xz.gpg"
但是当我在文件上运行它时,tar不会排除Symlink文件夹。
干杯。