initial commit
This commit is contained in:
commit
c29c285f99
|
@ -0,0 +1 @@
|
|||
.vagrant
|
|
@ -0,0 +1,13 @@
|
|||
FROM ubuntu:14.04
|
||||
MAINTAINER Dave Newman <dave@assembly.com>
|
||||
|
||||
RUN apt-get update && apt-get -y -q install git python-setuptools python-dateutil python-magic
|
||||
RUN git clone https://github.com/s3tools/s3cmd.git /s3cmd
|
||||
RUN cd /s3cmd && python setup.py install
|
||||
|
||||
ADD s3cfg /.s3cfg
|
||||
ADD run.sh run.sh
|
||||
|
||||
VOLUME /data
|
||||
|
||||
ENTRYPOINT [ "./run.sh", "/data" ]
|
|
@ -0,0 +1,11 @@
|
|||
docker-s3-volume
|
||||
==============
|
||||
|
||||
Docker container that creates a data volume from a path on s3.
|
||||
|
||||
Usage:
|
||||
|
||||
```
|
||||
docker run -it --rm \
|
||||
-e ACCESS_KEY=... -e SECRET_KEY=... s3-volume s3://<BUCKET>/<PATH>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
Vagrant.configure('2') do |config|
|
||||
config.vm.box = "phusion/ubuntu-14.04-amd64"
|
||||
|
||||
config.vm.provision :shell, inline: <<SCRIPT
|
||||
apt-get update
|
||||
apt-get -y install docker.io
|
||||
ln -sf /usr/bin/docker.io /usr/local/bin/docker
|
||||
chmod 777 /var/run/docker.sock
|
||||
sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
|
||||
SCRIPT
|
||||
|
||||
|
||||
# for speeds
|
||||
config.vm.network :private_network, ip: "192.168.50.9"
|
||||
config.vm.synced_folder ".", "/vagrant", type: "nfs"
|
||||
|
||||
config.vm.provider "virtualbox" do |vb|
|
||||
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
||||
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
|
||||
end
|
||||
end
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
function usage {
|
||||
echo "Usage: $PROGNAME <local-path> <remote-path>" 1>&2
|
||||
echo " eg: $PROGNAME /data s3://bucket/dir" 1>&2
|
||||
}
|
||||
|
||||
function error_exit {
|
||||
echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ $# != "2" ]; then
|
||||
usage
|
||||
error_exit "not enough arguments"
|
||||
fi
|
||||
|
||||
PROGNAME=$0
|
||||
LOCAL=$1
|
||||
REMOTE=$2
|
||||
|
||||
function restore {
|
||||
if [ "$(ls -A $LOCAL)" ]; then
|
||||
error_exit "local directory is not empty"
|
||||
fi
|
||||
|
||||
echo "restoring $REMOTE => $LOCAL"
|
||||
if ! s3cmd --access_key="$ACCESS_KEY" --secret_key="$SECRET_KEY" sync "$REMOTE/" "$LOCAL/"; then
|
||||
error_exit "restore failed"
|
||||
fi
|
||||
}
|
||||
|
||||
function backup {
|
||||
echo "backup $LOCAL => $REMOTE"
|
||||
if ! s3cmd --access_key="$ACCESS_KEY" --secret_key="$SECRET_KEY" sync --delete-removed "$LOCAL/" "$REMOTE/"; then
|
||||
error_exit "backup failed"
|
||||
fi
|
||||
}
|
||||
|
||||
function idle {
|
||||
echo "ready"
|
||||
while true; do
|
||||
sleep 42 &
|
||||
wait $!
|
||||
done
|
||||
}
|
||||
|
||||
restore
|
||||
|
||||
trap backup SIGHUP SIGINT SIGTERM
|
||||
trap "backup; idle" USR1
|
||||
|
||||
idle
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
[default]
|
||||
access_key =
|
||||
bucket_location = US
|
||||
cloudfront_host = cloudfront.amazonaws.com
|
||||
cloudfront_resource = /2010-07-15/distribution
|
||||
default_mime_type = binary/octet-stream
|
||||
delete_removed = False
|
||||
dry_run = False
|
||||
encoding = UTF-8
|
||||
encrypt = False
|
||||
follow_symlinks = False
|
||||
force = False
|
||||
get_continue = False
|
||||
gpg_command = /usr/local/bin/gpg
|
||||
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
|
||||
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
|
||||
gpg_passphrase =
|
||||
guess_mime_type = True
|
||||
host_base = s3.amazonaws.com
|
||||
host_bucket = %(bucket)s.s3.amazonaws.com
|
||||
human_readable_sizes = False
|
||||
list_md5 = False
|
||||
log_target_prefix =
|
||||
preserve_attrs = True
|
||||
progress_meter = True
|
||||
proxy_host =
|
||||
proxy_port = 0
|
||||
recursive = False
|
||||
recv_chunk = 4096
|
||||
reduced_redundancy = False
|
||||
secret_key =
|
||||
send_chunk = 4096
|
||||
simpledb_host = sdb.amazonaws.com
|
||||
skip_existing = False
|
||||
socket_timeout = 300
|
||||
urlencoding_mode = normal
|
||||
use_https = False
|
||||
verbosity = WARNING
|
Loading…
Reference in New Issue