Backup Skript Erläuterung

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.

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
 
Hallo,

die Anweisung schaut nach ob die Länge der Zeichenkette in der Variable $1 = 0 ist.

Eine Übersicht der möglichen Parameter für diese Tests findest du eigentlich in jedem Bash-Skripting-Guide, z. B. hier.

mfg
HeadCrash
 
Vielen Dank für den Link. Habs auch gleich gefunden. Werde mich mal weiter durchackern...
 

Ähnliche Themen

Verschlüsseltes Backup-Script mit rsync

script sshpass

Shell Skript beschleunigen

HandbrakeCLI Shell Skript

Port generieren, wenn nicht dann

Zurück
Oben