59 lines
1.2 KiB
Bash
Executable File
59 lines
1.2 KiB
Bash
Executable File
#!/bin/zsh
|
|
source "$HOME/.config/wryn/env/env.zsh"
|
|
source $ZSH_COLOR_UTIL
|
|
|
|
#####################################################################
|
|
|
|
case $1 in
|
|
pull ) PULL=1 ;;
|
|
push ) PUSH=1 ;;
|
|
esac
|
|
|
|
case $2 in
|
|
nodelete ) NODELETE=1 ;; # whether or not to pass '--delete' to s3 sync
|
|
# default is --delete
|
|
esac
|
|
|
|
[ ! $PULL ] && [ ! $PUSH ] && FATAL 'must specify "pull" or "push"'
|
|
|
|
#####################################################################
|
|
|
|
PULL_MEDIA() {
|
|
local TARGET="$1"
|
|
local REMOTE_TARGET="s3://$S3_SYNC_BUCKET/$1"
|
|
local LOCAL_TARGET="$HOME/$1"
|
|
|
|
[ ! -d $LOCAL_TARGET ] && mkdir -p $LOCAL_TARGET
|
|
|
|
local NO_DELETE="$2"
|
|
[ ! $NO_DELETE ] && FLAGS=--delete
|
|
|
|
CHECK "downloading latest $1"
|
|
aws --profile $DOTWRYN_AWS_PROFILE \
|
|
s3 sync $REMOTE_TARGET $LOCAL_TARGET \
|
|
$FLAGS >/dev/null 2>&1 \
|
|
&& OK || WARN
|
|
}
|
|
|
|
PUSH_MEDIA() {
|
|
local TARGET="$1"
|
|
local REMOTE_TARGET="s3://$S3_SYNC_BUCKET/$1"
|
|
local LOCAL_TARGET="$HOME/$1"
|
|
|
|
local NO_DELETE="$2"
|
|
[ ! $NO_DELETE ] && FLAGS=--delete
|
|
|
|
CHECK "uploading $1"
|
|
aws --profile $DOTWRYN_AWS_PROFILE \
|
|
s3 sync $LOCAL_TARGET $REMOTE_TARGET \
|
|
$FLAGS \
|
|
&& OK || WARN
|
|
}
|
|
|
|
|
|
for m in $S3_SYNC_MEDIA
|
|
do
|
|
[ $PULL ] && PULL_MEDIA $m $NODELETE
|
|
[ $PUSH ] && PUSH_MEDIA $m $NODELETE
|
|
done
|