Franzmann
08.11.07, 13:07
Hey,
benutze Linux (SLES 10.2) und habe dieses Shell-Skript im Netz gefunden und es erfüllt auch genau meine Anforderungen.
########## Configuration ############
BACKUPFILES="/etc/ /home/ /usr/ /var/" # zu sichernde Verzeichnisse
REMOTE="192.168.1.100" # Rechner auf den gesichert wird
REMOTEUSER="backup" # User, auf den via ssh ohne Passwort zugegriffen wird
REMOTEDIR="/home/backup/" # Backup-Verzeichnis auf Remote-Rechner
AGE="-1" # -1 = Nicht aelter als 24 Stunden, -2 = 48 ...
MAILTO="./backup.mail" # Mailadressen, die im Error-Fall Mail erhalten
SUBJECT="Backup_fehlgeschlagen!" # im Subject kein Leerzeichen!
ERROR="./error.txt" # Text, der im Error-Fall versandt wird
DATE=`/bin/date +%Y%m%d` # Datum im Format YearMonthDay
HOST=`/bin/hostname`
TAR=/bin/tar
FIND=/usr/bin/find
TAROPTIONS="c"
SSH=/usr/bin/ssh
CAT=/bin/cat
GZIP=/usr/bin/gzip
MAIL=/usr/bin/mail
REMOTEFILE="incremental_$HOST".$DATE."tgz" # Dateiname der Backup-Datei
CHECK_REMOTE=`ping -c1 $REMOTE | grep packet | awk '{print $4}'` # gibt 1 (online) oder 0 (offline) zurueck
#####################################
if [ $CHECK_REMOTE == 1 ]; then
$FIND $BACKUPFILES -mtime $AGE -type f -exec $TAR $TAROPTIONS {} \; | $GZIP | $SSH $REMOTEUSER\\@$REMOTE "cat > $REMOTEDIR$REMOTEFILE"
else
$CAT $MAILTO | while read line
do
$MAIL $line -s $SUBJECT < $ERROR
done
fi
Wenn ich das Skript nun ausführe bekomme ich folgende Meldung:
/bin/tar: Removing leading `/' from member names
Password:
Ok, den ersten Teil kann ich vernachlässigen.
Aber warum werde ich nach einem Password gefragt ?
Habe alles auf den Quell-/ Zielrechnern in der ./ssh Konfig editiert.
Wenn ich den scp- befehl oder ssh -v manuel eingebe,
funktioniert das auch problemlos, also ohne Passwortabfrage.
Aber nicht per Skript...
Hat jemand ne zündende Idee ?
benutze Linux (SLES 10.2) und habe dieses Shell-Skript im Netz gefunden und es erfüllt auch genau meine Anforderungen.
########## Configuration ############
BACKUPFILES="/etc/ /home/ /usr/ /var/" # zu sichernde Verzeichnisse
REMOTE="192.168.1.100" # Rechner auf den gesichert wird
REMOTEUSER="backup" # User, auf den via ssh ohne Passwort zugegriffen wird
REMOTEDIR="/home/backup/" # Backup-Verzeichnis auf Remote-Rechner
AGE="-1" # -1 = Nicht aelter als 24 Stunden, -2 = 48 ...
MAILTO="./backup.mail" # Mailadressen, die im Error-Fall Mail erhalten
SUBJECT="Backup_fehlgeschlagen!" # im Subject kein Leerzeichen!
ERROR="./error.txt" # Text, der im Error-Fall versandt wird
DATE=`/bin/date +%Y%m%d` # Datum im Format YearMonthDay
HOST=`/bin/hostname`
TAR=/bin/tar
FIND=/usr/bin/find
TAROPTIONS="c"
SSH=/usr/bin/ssh
CAT=/bin/cat
GZIP=/usr/bin/gzip
MAIL=/usr/bin/mail
REMOTEFILE="incremental_$HOST".$DATE."tgz" # Dateiname der Backup-Datei
CHECK_REMOTE=`ping -c1 $REMOTE | grep packet | awk '{print $4}'` # gibt 1 (online) oder 0 (offline) zurueck
#####################################
if [ $CHECK_REMOTE == 1 ]; then
$FIND $BACKUPFILES -mtime $AGE -type f -exec $TAR $TAROPTIONS {} \; | $GZIP | $SSH $REMOTEUSER\\@$REMOTE "cat > $REMOTEDIR$REMOTEFILE"
else
$CAT $MAILTO | while read line
do
$MAIL $line -s $SUBJECT < $ERROR
done
fi
Wenn ich das Skript nun ausführe bekomme ich folgende Meldung:
/bin/tar: Removing leading `/' from member names
Password:
Ok, den ersten Teil kann ich vernachlässigen.
Aber warum werde ich nach einem Password gefragt ?
Habe alles auf den Quell-/ Zielrechnern in der ./ssh Konfig editiert.
Wenn ich den scp- befehl oder ssh -v manuel eingebe,
funktioniert das auch problemlos, also ohne Passwortabfrage.
Aber nicht per Skript...
Hat jemand ne zündende Idee ?