diff options
Diffstat (limited to 'share')
-rwxr-xr-x | share/hydractl/sync-media-export | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/share/hydractl/sync-media-export b/share/hydractl/sync-media-export index 7b47639..8647acc 100755 --- a/share/hydractl/sync-media-export +++ b/share/hydractl/sync-media-export @@ -1,6 +1,6 @@ #!/bin/bash # -# Copy git-annex repositories to remote server. +# Copy git-annex repositories to remote destination. # # Parameters @@ -23,15 +23,23 @@ for file in `ls $MEDIA`; do cd $MEDIA - if ssh $DESTINATION if [ -d \"/var/cache/media/$file\" ] \; then echo exists\; fi | grep -q exists; then - echo "Remote $file already exists, skipping..." - continue; - fi + # Check for remote or local destinations + if [ ! -d "$DESTINATION" ]; then + if ssh $DESTINATION if [ -d \"/var/cache/media/$file\" ] \; then echo exists\; fi | grep -q exists; then + echo "Remote $file already exists, skipping..." + continue; + fi - git clone $file $file.git && \ - rsync -avz $file.git/ $DESTINATION:/var/cache/media/$file/ && \ - rm -rf $file.git - echo "" + git clone $file $file.git && \ + rsync -avz $file.git/ $DESTINATION:/var/cache/media/$file/ && \ + rm -rf $file.git + echo "" + else + mkdir -p $DESTINATION/var/cache/media + if [ ! -d "$DESTINATION/var/cache/media/$FILE" ]; then + ( cd $DESTINATION/var/cache/media && git clone $MEDIA/$file ) + fi + fi ) fi done |