]> git.sesse.net Git - backup.sh/commitdiff
lagt inn forsøk på støtte for env-fil. tenkte å ha ting der som kjøres før _hver_
authorroot <empty>
Tue, 21 Nov 2000 16:17:48 +0000 (16:17 +0000)
committerroot <empty>
Tue, 21 Nov 2000 16:17:48 +0000 (16:17 +0000)
gang noe kjøres på klienten.

backup.sh

index d4ef98b57947a9315ac32490062c489bc9cd5b83..19a49244b9beab3a2048fac40ae0a72866a637a0 100755 (executable)
--- a/backup.sh
+++ b/backup.sh
@@ -61,7 +61,8 @@ backup()
  fi
 
  #We try to run tar on the remote computer
- if `ssh $computer "cd $filesystem ;\
+ if `ssh $computer ". /tmp/.backup/env ;\
+     cd $filesystem ;\
      tar cfl - . $forrigecmd \
       --exclude-from=/tmp/.backup/exclude \
         | gzip" \
@@ -98,7 +99,7 @@ do
  filesystems=""
 
  #Sjekker nest siste felt i fstab. Om det er 0 tar vi ikke backup
- filesystems=`ssh -n $computer "cat /etc/fstab" \
+ filesystems=`ssh -n $computer ". /tmp/.backup/env ; cat /etc/fstab" \
   | grep -v nfs \
   | grep -v ^# \
   | awk '{ if ( $(NF-1) != "0" ) print $2}' `
@@ -108,7 +109,14 @@ do
 
  #try to copy $exclude to $computer
  scp $exclude $computer:/tmp/.backup/exclude ||
-    echo "Vi klarte ikke kopiere over exclude.txt til $computer :("
+    echo "could not copy exclude.txt to $computer :("
+
+ #create env if it does not exist
+ if [ ! -f $confdir/env.$computer ]
+    touch  $confdir/env.$computer
+
+ #copy env to client
+ scp $confdir/env.$computer  $computer:/tmp/.backup/env
 
  #try to copy preeexec and postexec if they exist
  [ -f $confdir/preexec.$computer ] &&
@@ -117,8 +125,7 @@ do
     scp $confdir/postexec.$computer $computer:/tmp/.backup/postexec
 
  #try to run preexec if it exist
- ssh $computer "[ -f /tmp/.backup/preexec ] && 
-                   /bin/bash -x /tmp/.backup/preexec"
+ ssh $computer ". /tmp/.backup/env ; [ -f /tmp/.backup/preexec ] && /bin/bash -x /tmp/.backup/preexec"
 
  for filesystem in $filesystems
  do
@@ -177,8 +184,7 @@ do
  done
 
  #try to run postexec if it exist
- ssh $computer "[ -f /tmp/.backup/postexec ] &&
-                   /bin/bash -x /tmp/.backup/postexec"
+ ssh $computer ". /tmp/.backup/env ; [ -f /tmp/.backup/postexec ] && /bin/bash -x /tmp/.backup/postexec"
 
 done