diff options
Diffstat (limited to 'files/sync-media')
| -rw-r--r-- | files/sync-media | 75 | 
1 files changed, 38 insertions, 37 deletions
| diff --git a/files/sync-media b/files/sync-media index 64e3f02..5ff3c0f 100644 --- a/files/sync-media +++ b/files/sync-media @@ -67,6 +67,15 @@ if echo $OPTIONS | grep -q -- "--dropunused"; then    DROPUNUSED="true"  fi +# Set drive config +if [ ! -z "$REMOTE" ]; then +  # Check storage media +  MOUNT="`mount | grep $VOLUME`" +  if [ ! -z "$MOUNT" ]; then +    DRIVE="$(basename `echo $MOUNT | awk '{ print $1 }'`)" +  fi +fi +  # Commit changes  if [ -d "$CACHE" ]; then    # Fix cache permissions @@ -107,7 +116,7 @@ if [ -d "$CACHE" ]; then        fi        # Ensure we have a reference to the remote repository -      if [ -d "$VOLUME/$MEDIA/$folder/git/.annex" ]; then +      if [ ! -z "$DRIVE" ] && [ -d "$VOLUME/$MEDIA/$folder/git/.annex" ]; then          # Check remote          if ! git remote | grep -q "^$REMOTE$"; then            git remote add $REMOTE $VOLUME/$MEDIA/$folder @@ -135,44 +144,36 @@ if [ -d "$CACHE" ]; then      fi    done -  if [ ! -z "$REMOTE" ]; then -    # Check storage media -    MOUNT="`mount | grep $VOLUME`" -    if [ ! -z "$MOUNT" ]; then -      DRIVE="$(basename `echo $MOUNT | awk '{ print $1 }'`)" -    fi +  if [ ! -z "$DRIVE" ]; then +    if [ ! -d "$VOLUME/$MEDIA" ]; then +      echo "Folder $VOLUME/$MEDIA does not exist..." +    else +      for folder in `ls $CACHE`; do +        if [ -d "$CACHE/$folder/.git/annex" ]; then +          if [ "`git -C $CACHE/$folder config sync-media.skip`" == "true" ]; then +            continue +          fi -    if [ ! -z "$DRIVE" ]; then -      if [ ! -d "$VOLUME/$MEDIA" ]; then -        echo "Folder $VOLUME/$MEDIA does not exist..." -      else -        for folder in `ls $CACHE`; do -          if [ -d "$CACHE/$folder/.git/annex" ]; then -            if [ "`git -C $CACHE/$folder config sync-media.skip`" == "true" ]; then -              continue -            fi - -            #if [ "`git -C $CACHE/$folder config sync-media.ready`" != "true" ]; then -            #  echo "Skipping $CACHE/$folder: not sync-media ready, please config your repo." -            #  continue -            #fi - -            if [ ! -d "$VOLUME/$MEDIA/$folder" ]; then -              ( -              cd $VOLUME/$MEDIA -              echo "Initializing $VOLUME/$MEDIA/$folder..." -              git clone $CACHE/$folder && cd $folder && sync_media_identity && git annex init $DRIVE && \ -                git remote rename origin $HOST && cd $CACHE/$folder && git remote add $DRIVE $VOLUME/$MEDIA/$folder -              ) -            fi -          elif [ ! -d "$VOLUME/$MEDIA/$folder" ]; then -            if [ ! -e "$CACHE/$folder/.sync-media/skip" ]; then -              echo "Syncing $VOLUME/$MEDIA/$folder..." -              rsync -av --delete --exclude=.sync-media $CACHE/$folder/ $VOLUME/$MEDIA/$folder/ -            fi +          #if [ "`git -C $CACHE/$folder config sync-media.ready`" != "true" ]; then +          #  echo "Skipping $CACHE/$folder: not sync-media ready, please config your repo." +          #  continue +          #fi + +          if [ ! -d "$VOLUME/$MEDIA/$folder" ]; then +            ( +            cd $VOLUME/$MEDIA +            echo "Initializing $VOLUME/$MEDIA/$folder..." +            git clone $CACHE/$folder && cd $folder && sync_media_identity && git annex init $DRIVE && \ +              git remote rename origin $HOST && cd $CACHE/$folder && git remote add $DRIVE $VOLUME/$MEDIA/$folder +            )            fi -        done -      fi +        elif [ ! -d "$VOLUME/$MEDIA/$folder" ]; then +          if [ ! -e "$CACHE/$folder/.sync-media/skip" ]; then +            echo "Syncing $VOLUME/$MEDIA/$folder..." +            rsync -av --delete --exclude=.sync-media $CACHE/$folder/ $VOLUME/$MEDIA/$folder/ +          fi +        fi +      done      fi    fi  fi | 
