如何在 Solaris 中 运行 tar 时排除快照

how to exclude snapshots while running tar in Solaris

我正在尝试获取“/home/store/”目录内容的 tar。

tar cvf store.tar /home/store/

这样做时,我可以看到 .snapshot 目录也被包含在内。我的理解是快照是一种备份。我可以跳过这个吗?如果可以,怎么做?尝试使用以下命令 运行 从 /home/store/

中排除 test 目录
tar cvfX store.tar <(echo /home/store/test) /home/store/

但这并不排除tar创建的测试目录。

另外,试过这个

tar cvf store.tar /home/store/ --exclude-file=exclude.txt

输出:

<code>a /home/store// 0K a /home/store//.profile 1K a /home/store//local.profile 1K a /home/store//.vas_logon_server 1K a /home/store//.vas_disauthcc_611400381 1K a /home/store//.bash_history 7K a /home/store//test/ 0K a /home/store//test/1.txt 1K a /home/store//test/migrate-perf3.txt 3958K a /home/store//test.txt 1K a /home/store//exclude.txt 1K a /home/store//.snapshot/hourly.0/d2/dd/d5d/f82-1 59K a /home/store//.snapshot/hourly.0/d2/dd/d5d/f83-1 58K ..... tar: --exclude-file=exclude.txt: No such file or directory

/home/store/exclude.txt 有条目 'test'。也尝试输入以下内容并得到同样的错误。

/home/store/test/ /home/store/test/1.txt

当我像这样给出 'exclude.txt' 的完整路径时

`tar cvf store.tar /home/store/ --exclude-file=/home/store/exclude.txt`

出现以下错误

tar: can't change directories to --exclude-file=/home/store: No such file or directory

tar-h

Usage: tar {c|r|t|u|x}[BDeEFhilmnopPqTvw@[0-7]][bfk][X...] [blocksize] [tarfile] [size] [exclude-file...] {file | -I include-file | -C directory file}...

提前致谢!
范佩尔

尝试这样做:

tar cvfX /var/tmp/src.tar /var/tmp/excl.txt /var/tmp/src/

您的排除文件应包含路径:

/home/store//.快照

最佳做法是不要使用 tar 目录的完整路径,因为将来您可以覆盖 /etc ,例如,当从 /var/tmp 中提取 tar 存档时。

例如:

sudo tar -zcvpf /backup/farm-backup-$(date +%d-%m-%Y).tar.gz  --exclude ".snapshots" --exclude ".cache"  farm 

没有在命令中使用反斜杠,即:/farm 目录。从 /home 目录执行 tar 命令以备份 "farm" 用户。

用于在根 /backup 目录中进行备份。

OS:OpenSuse 15.1