相关疑难解决方法(0)

Shell命令到tar目录,不包括某些文件/文件夹

是否有一个简单的shell命令/脚本支持排除某些文件/文件夹被存档?

我有一个目录需要使用子目录进行存档,该子目录包含许多我不需要备份的非常大的文件.

不完全解决方案:

tar --exclude=PATTERN命令与给定模式匹配并排除这些文件,但我需要忽略特定文件和文件夹(完整文件路径),否则可能会排除有效文件.

我还可以使用find命令创建文件列表并排除我不想存档的文件并将列表传递给tar,但这仅适用于少量文件.我有成千上万.

我开始认为唯一的解决方案是创建一个文件,其中包含要排除的文件/文件夹列表,然后使用rsync --exclude-from=file将所有文件复制到tmp目录,然后使用tar来存档该目录.

谁能想到更好/更有效的解决方案?

编辑:cma的解决方案效果很好.最重要的是--exclude='./folder' 必须在tar命令的开头.完整命令(cd首先,所以备份是相对于该目录):

cd /folder_to_backup
tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .
Run Code Online (Sandbox Code Playgroud)

linux shell tar archive

760
推荐指数
16
解决办法
82万
查看次数

Rsync仅创建符号链接

我目前有rsync运行良好.它将我的所有文件从一个目录复制到另一个目录.唯一的事情是它是物理复制文件.

我有很多大文件,我不想拥有所有文件的副本.我只想在新目录中创建一个符号链接,以便我可以在网页上提供数据.源目录有一些我不希望公众看到的脚本和文件.我正在将安全数据移动到Web根目录(目标).

我希望rsync做的是源目录中的任何新文件都会创建到目标的链接.这样我就不像我目前所做的那样耗尽我的硬盘空间.除了做符号链接方面之外,我的工作完美无缺.有没有办法让rsync跟踪并创建符号链接?

rsync -aP --exclude="file.sql" --exclude="*~" --exclude=".*" --exclude="*.sh" . ${destination}
Run Code Online (Sandbox Code Playgroud)

unix shell rsync

6
推荐指数
1
解决办法
1940
查看次数

标签 统计

shell ×2

archive ×1

linux ×1

rsync ×1

tar ×1

unix ×1