@@ -6,8 +6,8 @@ if [[ $# -ne 2 ]]; then
66 exit 1
77fi
88
9- if ! [ -x " $( command -v mc ) " ]; then
10- echo ' Error: mc is not installed.' >&2
9+ if ! [ -x " $( command -v rclone ) " ]; then
10+ echo ' Error: rclone is not installed.' >&2
1111 exit 1
1212fi
1313
@@ -55,6 +55,17 @@ if [[ ! -d "$BASE/$VOLUME" ]]; then
5555 exit 1
5656fi
5757
58+ rclone config create $S3_NAME s3 \
59+ provider=other env_auth=false access_key_id=$S3_KEY \
60+ secret_access_key=$S3_SECRET region=$S3_REGION \
61+ endpoint=$S3_HOST force_path_style=false \
62+ acl=private bucket_acl=private --no-output --obscure
63+
64+ if [[ $? -ne 0 ]]; then
65+ echo " Error: Problem encounted configuring s3! (rclone)"
66+ exit 1
67+ fi
68+
5869case $ACTION in
5970 backup)
6071 SNAPSHOT_NAME=${VOLUME} _$( date +" %Y-%m-%d" ) .tar.xz
@@ -76,38 +87,27 @@ case $ACTION in
7687 exit 1
7788 fi
7889 rm /tmp/$SNAPSHOT_NAME
79- mc config host add $S3_NAME $S3_HOST $S3_KEY $S3_SECRET --api " s3v4 "
90+ rclone copy /tmp/ $SNAPSHOT_NAME .gpg $S3_NAME : $S3_BUCKET /pv- $VOLUME / $SNAPSHOT_NAME .gpg
8091 if [[ $? -ne 0 ]]; then
81- echo " Error: Problem encounted configuring s3! (mc)"
82- rm /tmp/$SNAPSHOT_NAME .gpg
83- exit 1
84- fi
85- mc cp /tmp/$SNAPSHOT_NAME .gpg $S3_NAME /$S3_BUCKET /pv-$VOLUME /$SNAPSHOT_NAME .gpg
86- if [[ $? -ne 0 ]]; then
87- echo " Error: Problem encounted during upload! (mc)"
92+ echo " Error: Problem encounted during upload! (rclone)"
8893 rm /tmp/$SNAPSHOT_NAME .gpg
8994 exit 1
9095 fi
9196 if [[ -z " $S3_MAX_AGE " ]]; then
9297 echo " Cleaning up old backups for $VOLUME over $S3_MAX_AGE old..."
93- mc find $S3_NAME / $S3_BUCKET /pv- $VOLUME / --older-than " $S3_MAX_AGE " --exec " mc rm {} "
98+ rclone delete --min-age " $S3_MAX_AGE " $S3_NAME : $S3_BUCKET /pv- $VOLUME /
9499 fi
95100 echo " Snapshot of ${VOLUME} completed successfully! ($S3_BUCKET /pv-$VOLUME /$SNAPSHOT_NAME .gpg)"
96101 ;;
97102
98103 restore)
99- mc config host add $S3_NAME $S3_HOST $S3_KEY $S3_SECRET --api " s3v4"
100- if [[ $? -ne 0 ]]; then
101- echo " Error: Problem encounted configuring s3! (mc)"
102- exit 1
103- fi
104- # We assume the latest is at the bottom of the mc ls.
104+ # We assume the latest is at the bottom of the rclone ls.
105105 # It seems to be true in my testing so far... but this feels sketch
106- LATEST=$( mc ls -q $S3_NAME / $S3_BUCKET /pv-$VOLUME / | tail -1 | awk ' { print $5 }' )
106+ LATEST=$( rclone ls $S3_NAME : $S3_BUCKET /pv-$VOLUME / | tail -1 | awk ' {print $2 }' )
107107 echo " Found $LATEST to be the latest snapshot..."
108- mc cp $S3_NAME / $S3_BUCKET /pv-$VOLUME /$LATEST /tmp/$LATEST
108+ rclone copy $S3_NAME : $S3_BUCKET /pv-$VOLUME /$LATEST /tmp/$LATEST
109109 if [[ $? -ne 0 ]]; then
110- echo " Error: Problem encounted getting snapshot from s3! (mc )"
110+ echo " Error: Problem encounted getting snapshot from s3! (rclone )"
111111 rm /tmp/$LATEST
112112 exit 1
113113 fi
0 commit comments