Skip to content

Instantly share code, notes, and snippets.

@Yuiki
Created May 31, 2019 02:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yuiki/dc9a0537948c9f08adceeb78245e41f7 to your computer and use it in GitHub Desktop.
Save Yuiki/dc9a0537948c9f08adceeb78245e41f7 to your computer and use it in GitHub Desktop.
#!/bin/bash
BACKUP_UPPER_LIMIT=5
BASE_DIR=/mnt/backup/backup
NEW_DIR=`date +'%Y%m%d'`
LATEST_DIR=`ssh raspi ls -t $BASE_DIR | head -1`
if [ "$LATEST_DIR" = "$NEW_DIR" ]; then
echo 1#exit 1
fi
if [ `ssh raspi ls -l $BASE_DIR | grep ^d | wc -l` -gt $BACKUP_UPPER_LIMIT ]; then
OLDEST_DIR=`ssh raspi ls -tr $BASE_DIR | head -1`
ssh raspi rm -rf $BASE_DIR/$OLDEST_DIR
fi
SRC_SHARED=/mnt/shared/shared
SRC_ARCH=/home/uta/Documents
SRC_WINDOWS=/mnt/windows/Users/uta/Documents
DEST_SHARED=$BASE_DIR/$NEW_DIR
DEST_ARCH=$BASE_DIR/$NEW_DIR/linux/home/uta
DEST_WINDOWS=$BASE_DIR/$NEW_DIR/windows/Users/uta
if [ -n "$LATEST_DIR" ]; then
LINK_DEST_SHARED=${DEST_SHARED/$NEW_DIR/$LATEST_DIR}
LINK_DEST_ARCH=${DEST_ARCH/$NEW_DIR/$LATEST_DIR}
LINK_DEST_WINDOWS=${DEST_WINDOWS/$NEW_DIR/$LATEST_DIR}
OPTION_LINK_SHARED="--link-dest=$LINK_DEST_SHARED"
OPTION_LINK_ARCH="--link-dest=$LINK_DEST_ARCH"
OPTION_LINK_WINDOWS="--link-dest=$LINK_DEST_WINDOWS"
fi
ssh raspi mkdir -p $BASE_DIR/$NEW_DIR $DEST_ARCH $DEST_WINDOWS
OPTION_DEFAULT="-avz -e ssh --delete"
rsync $OPTION_DEFAULT $OPTION_LINK_ARCH $SRC_ARCH raspi:$DEST_ARCH
rsync $OPTION_DEFAULT $OPTION_LINK_SHARED $SRC_SHARED raspi:$DEST_SHARED
rsync $OPTION_DEFAULT $OPTION_LINK_WINDOWS $SRC_WINDOWS raspi:$DEST_WINDOWS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment