linux – 我正在尝试在我的EC2实例上使用“aws s3 sync”. “–exclude”选项是否已损坏?

我正在尝试使用预装在EC2实例上的亚马逊官方工具将我的EC2实例备份到S3.我无法通过sync命令从同步中排除目录.使用’–exclude’选项,documentation听起来很容易.但是,我一直无法让它发挥作用.

我正在运行yum提供的最新版本:

[root@HOSTNAME ~]# aws --version
aws-cli/1.1.1 Python/2.6.8 Linux/3.4.57-48.42.amzn1.x86_64

这是我遇到麻烦的命令:

aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '*.git/*'

我想从同步中排除所有名为“.git”的文件夹和这些文件夹中的所有文件.

documentation判断我给’–exclude’的模式应该有效.但是,整个.git目录及其所有文件仍然处于同步状态.这是一个示例输出行:

upload: ../var/www/site/.git/objects/7b/e3cdf203d34a0d7eff30a96a78d20eacee8d77 to s3://backup-bucket/var/www/site/.git/objects/7b/e3cdf203d34a0d7eff30a96a78d20eacee8d77

我尝试了以下命令,这些命令都无法排除名为’.git’的文件夹:

aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude *.git/*
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude */.git/*
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '.git'
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '*\.git/*'
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '.*\.git/.*'

并且,也许最令人不安的是,此命令不会从同步中排除任何内容

aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '*'

实际上,似乎’–exclude’仅在globbing位于绝对路径的右侧时才有效.例如,这会将/var/www/site/.git中的.git文件夹排除在外:

aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '/var/www/site/.git/*'

但这不排除任何事情:

aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '*/www/site/.git/*'

我在/ var / www中有很多站点,我希望从同步中排除许多文件夹,例如’.git’,’parsed’,’cache’等.必须提供所有这些站点绝对路径是很糟糕的.

我希望有一些简单的东西,我在这里做错了.感谢大家的帮助.

解决方法

它对我来说也是破碎的 – 而且这个 https://github.com/aws/aws-cli/issues/434已经存在一个解决的问题.这是一个错误.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...