如何在 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
我正在尝试获取“/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