]> gitweb.fluxo.info Git - puppet-backup.git/commitdiff
Adding sync-media-expor and sync-media-init
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 31 May 2013 18:38:59 +0000 (15:38 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 31 May 2013 18:38:59 +0000 (15:38 -0300)
files/sync-media-export [new file with mode: 0644]
files/sync-media-init [new file with mode: 0644]
manifests/init.pp

diff --git a/files/sync-media-export b/files/sync-media-export
new file mode 100644 (file)
index 0000000..7b47639
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Copy git-annex repositories to remote server.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+DESTINATION="$1"
+DOMAIN="`facter DOMAIN`"
+MEDIA="/var/cache/media"
+
+# Syntax check
+if [ -z "$DESTINATION" ]; then
+  echo "usage: $BASENAME <DESTINATION>"
+  exit 1
+fi
+
+# Process each repository
+for file in `ls $MEDIA`; do
+  if [ -d "$MEDIA/$file/.git/annex" ]; then
+    (
+    echo Processing "$MEDIA/$file..."
+
+    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
+
+    git clone $file $file.git && \
+    rsync -avz $file.git/ $DESTINATION:/var/cache/media/$file/ && \
+    rm -rf $file.git
+    echo ""
+    )
+  fi
+done
diff --git a/files/sync-media-init b/files/sync-media-init
new file mode 100644 (file)
index 0000000..e16dbf0
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+# Add git-annex remotes to repository in removable media.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+VOLUME="$1"
+DOMAIN="`facter DOMAIN`"
+MEDIA="/media/$VOLUME/media.$DOMAIN"
+#REMOTE_BOXES=""
+#REMOTE_VOLUMES=""
+
+# Syntax check
+if [ -z "$VOLUME" ]; then
+  echo "usage: $BASENAME <VOLUME>"
+  exit 1
+fi
+
+# Process each repository
+for file in `ls $MEDIA`; do
+  if [ -d "$MEDIA/$file/.git/annex" ]; then
+    (
+    echo Processing "$MEDIA/$file..."
+    cd $MEDIA/$file
+    echo "Removing origin..."
+    git remote rm origin
+    git annex init $VOLUME
+
+    for remote in $REMOTE_BOXES; do
+      echo "Adding /var/cache/$remote/media/$file remote..."
+      git remote add $remote /var/cache/$remote/media/$file
+    done
+
+    for remote in $REMOTE_VOLUMES; do
+      echo "Adding /media/$remote/media.$DOMAIN/$file..."
+      git remote add $remote /media/$remote/media.$DOMAIN/$file
+    done
+
+    echo ""
+    )
+  fi
+done
index 90882a917d741fe08b4105d93b64aaf45e66e5c6..07031de5e8d1e8cb8d47cf69abf47093e4804ec9 100644 (file)
@@ -146,6 +146,24 @@ class backup(
     source  => "puppet:///modules/backup/sync-media",
   }
 
+  # sync-media-export script
+  file { "/usr/local/sbin/sync-media-export":
+    owner   => root,
+    group   => root,
+    mode    => 0755,
+    ensure  => present,
+    source  => "puppet:///modules/backup/sync-media-export",
+  }
+
+  # sync-media-init script
+  file { "/usr/local/sbin/sync-media-init":
+    owner   => root,
+    group   => root,
+    mode    => 0755,
+    ensure  => present,
+    source  => "puppet:///modules/backup/sync-media-init",
+  }
+
   # mount-media script
   file { "/usr/local/sbin/mount-media":
     owner   => root,