G
Guenth
Grünschnabel
Hallo,
ich möchte gerne die Shellprogrammierung lernen und habe mir dazu ein vorhandenes Skript vorgenommen. In diesem Skript gibt es eine If-Anweisung die ich mir nicht erklären kann.
Wäre super, wenn mir hier jemand eine kleine Hilfestellung geben könnte. Danke!
Guenth
Hier das gesamte Skript:
ich möchte gerne die Shellprogrammierung lernen und habe mir dazu ein vorhandenes Skript vorgenommen. In diesem Skript gibt es eine If-Anweisung die ich mir nicht erklären kann.
Code:
if [ -z "$1" ]; then
echo "rsync_dir: Source missing"
return 1
fi
Wäre super, wenn mir hier jemand eine kleine Hilfestellung geben könnte. Danke!
Guenth
Hier das gesamte Skript:
Code:
#! /bin/bash
BACKUPSVR="backup-dd"
TARGETDIR="/backup/lbdr"
ERRORCNT=0
DATEFMT="+%Y-%m-%d %H:%M:%S"
echo Starting master_backup at `date "$DATEFMT"`
echo
if ! ssh $BACKUPSVR "cd $TARGETDIR; rm -rf 7; mv 6 7; mv 5 6; mv 4 5; mv 3 4; mv 2 3; mv 1 2; mv 0 1"; then
let ERRORCNT=ERRORCNT+1
fi
rsync_dir()
{
if [ -z "$1" ]; then
echo "rsync_dir: Source missing"
return 1
fi
echo ------------- `date "$DATEFMT"` backup $1 -------------
if ! rsync -azxR --stats -e ssh --delete --link-dest=$TARGETDIR/1 $1 $BACKUPSVR:$TARGETDIR/0/; then
let ERRORCNT=ERRORCNT+1
fi
}
rsync_dir "/etc"
rsync_dir "/usr/labor"
rsync_dir "/usr/lds"
rsync_dir "/usr0"
#mysqldump --all-databases --lock-tables | bzip2 | ssh firewall "cat >$TARGETDIR/0/mysql.bz2"
echo
if [ $ERRORCNT -eq 0 ]; then
echo Finished at `date "$DATEFMT"`
else
echo Finished at `date "$DATEFMT"` with $ERRORCNT errors
fi