相关疑难解决方法(0)

如何使用“更改目录”选项使 tar 通配符工作

我有以下目录结构:

base/
   files/
   archives/
   scripts/
Run Code Online (Sandbox Code Playgroud)

我想一个脚本来运行的scripts/,压缩文件,那场比赛results.*.logfiles/为gzip压缩tar归档文件中archives/

我正在尝试以下命令:

tar czfC ../archives/archive.tar.gz ../files results.*.log
Run Code Online (Sandbox Code Playgroud)

但我得到

tar: results.*.log: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)

尽管

tar czfC ../archives/archive.tar.gz ../files results.a.log
Run Code Online (Sandbox Code Playgroud)

按预期工作。还

tar czf ../archives/archive.tar.gz ../files/results.*.log
Run Code Online (Sandbox Code Playgroud)

以我想要的方式工作,除了它将前缀添加files/到文件并发出警告:

tar: Removing leading `../' from member names
Run Code Online (Sandbox Code Playgroud)

所以我的结论是,tar使用该-C选项时,globbing 无法正常工作。关于如何以简单的方式完成这项工作的任何建议?

tar wildcards

9
推荐指数
2
解决办法
7729
查看次数

如何将文件夹中的文件添加到存档而不是文件夹本身?

这不是在不包含父目录的情况创建 tar 存档的副本

如果我这样做tar -czf archive directory,目录将被添加到存档中。我想添加文件夹的文件directory而不是目录本身,如何?
请建议答案,不涉及cd荷兰国际集团,以directory

这与其显示的内容不同:
我有一个目录somedir,内容为abc, xyz

ls somedir
abc xyz
Run Code Online (Sandbox Code Playgroud)

我想使档案将包含的文件abcxyz而不是somedir文件夹

更新:如果我使用命令tar -C /home/username/dir1/dir2 -cvf temp.tar yourarchive(我的问题被称为重复的问题的答案)
我得到这个:

在此处输入图片说明

我想要的是tar czf archive.tar.gz -C yourarchive .,我得到了这个(这与我想要的足够接近):

在此处输入图片说明

我想要的是这个(直接文件,没有文件夹):

在此处输入图片说明

tar

4
推荐指数
1
解决办法
2846
查看次数

如何使用 shell 脚本备份目录和文件,包括所有子目录和文件?

我有一个名为backup.sh. 我只想备份html目录及其所有子目录和文件。但是我正在获取目录的所有父目录,html例如varwww这对我来说不是必需的。

我粘贴下面的代码:

#!/bin/bash
#Purpose = Backup of Important Data
DATE=$(date +"%d-%b-%Y")
SRCDIR="/var/www/html"
DESDIR="/media/HDD-01/html"
FILENAME=html-$DATE.tar.gz

# Making backup with compress 
tar -cpzf $DESDIR/$FILENAME $SRCDIR
Run Code Online (Sandbox Code Playgroud)

我从下面的链接得到了这个代码:

http://broexperts.com/2012/06/how-to-backup-files-and-directories-in-linux-using-tar-cron-jobs/

谁能建议我如何解决我的问题?

提前致谢。

linux shell bash

1
推荐指数
1
解决办法
5万
查看次数

标签 统计

tar ×2

bash ×1

linux ×1

shell ×1

wildcards ×1