我打算快速备份我的网站。所以我尝试在我的 webroot 中运行以下命令:
tar cvfz backup.tar.gz .
Run Code Online (Sandbox Code Playgroud)
这似乎在一段时间内运行良好。直到我发现它已经开始备份backup.tar.gz......
有一个简单的办法,我可以把它忽略我归档文件到?
注意:如果可以的话,我当然会把存档文件放在它上面的目录中。但我只能访问我的主目录。
编辑:我想多member01和member02和目录blah/
tarball_1.tar.gz包含test/20 个文件的目录。我只想提取成员test/member01和test/member02目录,blah/并使用 ssh/scp 将它们复制到另一个“remote_host”。
这可以作为单线完成吗?我考虑过使用tar, pax, 或cpio但我想我对这些实用程序还不是很熟练。
我正在尝试在运行 Mountain Lion (10.8.3) 的本地 Mac 上安装10gen 版本的 MongoDB:
我curl在以下位置获取它:
curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.tgz > mongodb.tgz
Run Code Online (Sandbox Code Playgroud)
但我无法提取构建:
尝试 1:
$ tar -zxvf mongodb.tgz
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Run Code Online (Sandbox Code Playgroud)
尝试 2:
$ gunzip mongodb.tgz
gzip: mongodb.tgz: not in gzip format
Run Code Online (Sandbox Code Playgroud)
尝试 3:
$ unzip mongodb.tgz
Archive: mongodb.tgz
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central …Run Code Online (Sandbox Code Playgroud) 此链接描述了如何复制 tarred 文件以最大程度地减少通过网络发送的数据量。我正在尝试做一些稍微不同的事情。
我在不同的子目录级别上有许多远程文件:
remote:/directory/subdir1/file1.ext
remote:/directory/subdir1/subsubdir11/file11.ext
remote:/directory/subdir2/subsubdir21/file21.ext
Run Code Online (Sandbox Code Playgroud)
我有一个文件列出了所有这些:
remote:/directory/allfiles.txt
Run Code Online (Sandbox Code Playgroud)
为了最有效地复制它们,我可以在远程站点上做
tar zcvf allfiles.tgz `cat /directory/allfiles.txt`
Run Code Online (Sandbox Code Playgroud)
但没有足够的空间来做到这一点。
我的本地磁盘上确实有足够的存储空间。有没有办法tar从远程服务器(使用scp或ssh传输)传入流?
就像/localdir$ tar zc - | ssh remote `cat /directory/allfiles.txt` 我猜的那样 - 但这只会列出本地主机上的远程文件。
是否可以使用 tar 存档(本地)rsync 真正的文件系统(远程)?如果是这样,如何?
问题是我需要正确备份用户/组/权限设置,虽然我在远程有 root 访问权限,但我想避免在本地机器上以 root 身份运行。
我的第一个(也是最重要的)用例是从 Buildroot 生成的 .tar 更新远程嵌入式目标 (ARM9)。我在磁盘上没有“真实的东西”(我可以在作为 root 时生成副本),我想避免传输整个 rootfs 来更新一些文件。
尝试使用以下命令解压 docker 容器中的文件时:
tar -zvxf training.tar.gz -C data/multi30k
Run Code Online (Sandbox Code Playgroud)
我收到以下错误(train.de是 .tar 文件中的一个文件):
tar: train.de Cannot change ownership to uid 1000, gid 1000: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
但是文件在本地解压就好了。什么可能导致此错误?
我正在尝试按照此处的说明在 ubuntu 上安装 Jetty,但是当我尝试使用 tar 时遇到了问题。
cd /usr/local/src
sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1
Run Code Online (Sandbox Code Playgroud)
但是当我尝试
sudo tar -xfz etty-distribution-9.1.0.v20131115.tar.gz
Run Code Online (Sandbox Code Playgroud)
我收到错误
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?(我也以 root 身份尝试过,但没有帮助)
编辑
没有一个建议的答案对我有用。下面我从命令行复制我的尝试。我究竟做错了什么?
a@b:/usr/local/src$ ls
download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
download.php?file=%2Fjetty%2Fstable-9%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
a@b:/usr/local/src$ tar -tfz jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ tar -tfz /usr/local/src/jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is …Run Code Online (Sandbox Code Playgroud) 我对我的登录区域进行了网络备份,以准备重新格式化它所在的卷,使其可在运行最新版本Leopard 的旧 Power Mac G5上启动。
虽然我不相信这个症状是实际tar调用的函数,但这里是完整的实际命令:
bill@r2d2-2:~
[108] (sudo tar cf - -C /Volumes/usr1 Users) | gzip -c - | ssh whmcclos@mbp \
'cat > /Volumes/link2TMS/r2d2_usr1_Users.tar.gz'
tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Commands: socket ignored
tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Notification: socket ignored
Run Code Online (Sandbox Code Playgroud)
这tar是忽略的两个套接字文件
bill@r2d2:~/Library/Acrobat User Data/8.0_ppc/Synchronizer
[11] ls -larhdt *
drwx------ 3 bill staff 102B Jun 4 2010 metadata
-rw-r--r-- 1 bill staff 0B Jan 20 13:05 adobesynchronizersu80
srwxr-xr-x 1 bill staff 0B Jan 20 13:05 …Run Code Online (Sandbox Code Playgroud) 我在我的 Raspberry Pi(在 Unix 下运行)上安装了 MPD(音乐播放器守护进程)。然后是 Windows 上的 GMPC(客户端)。GMPC 有一个插件可以捕获专辑封面,但它是一个 tar.gz 存档。我该如何安装这个?
我可以提取文件。我对此没有意见。但是当我从存档中提取文件时,我得到这些文件:
aclocal.m4
config.guess
config.h.in
config.sub
configure
configure.ac
COPYING
depcomp
instal-sh
Itmain.sh
Makefile.am
Makefile.in
missing
mkinstalldirs
Run Code Online (Sandbox Code Playgroud)
我应该如何处理这些文件?
我有一个包含大约 20K 个文件的文件夹。这些文件根据模式命名xy_{\d1,5}_{\d4}\.abc,例如xy_12345_1234.abc. 我想使用以下命令压缩其中的前 10K:
ls | sort -n -k1.4,1.9 | head -n10000 | xargs tar -czf xy_0_10000.tar.gz
但是生成的文件里面只有大约 2K 个文件。
ls | sort -n -k1.4,1.9 | head -n10000 | wc -l 然而,正如预期的那样返回 10000。
在我看来,我在这里误解了一些基本的东西......
我在 Linux Mint 17.1、GNU tar 1.27.1 上使用 zsh 5.0.2
编辑:
@Archemar 建议的分叉听起来很合理,最新的分叉覆盖了生成的文件 - 该文件包含文件的“尾部” - 7773到9999。
结果xargs --show-limit:
Your environment variables take up 3973 bytes
POSIX upper limit on argument length (this system): 2091131
POSIX smallest …