Zálohování: Porovnání verzí
Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 4: | Řádek 4: | ||
== Klient == | == Klient == | ||
=== Linux === | === Linux === | ||
Řádek 30: | Řádek 28: | ||
127.0.0.1 localhost '''lenny''' | 127.0.0.1 localhost '''lenny''' | ||
... | ... | ||
=== Windows === | |||
Tady je instalace poněkud odlišná. Místo rsync se zde používá rsyncd, což je daemon běžící pomocí CYGWINu. | |||
= Pomocí skriptu = | = Pomocí skriptu = |
Verze z 18. 2. 2011, 11:04
Pomocí BackupPc
Server
Klient
Linux
Návod je pro debian, ale až na drobné výjimky by měl fungovat na všech distribucích.
# nainstujeme rsync, wget a sudo apt-get install rsync wget sudo # přidáme uživatele backuppc bez hesla adduser -q --disabled-password --gecos "" backuppc # přidáme mu práva spouštět rsync jako root echo "backuppc ALL=NOPASSWD: /usr/bin/rsync" >> /etc/sudoers # staneme se jím :-) su backuppc # a stáhneme si SSH veřejný klíč cd && mkdir .ssh && chmod 700 .ssh && cd .ssh && wget http://freenetis.slfree.net/backuppc/authorized_keys && chmod 600 authorized_keys
Ještě je potřeba, aby byl název stroje, který používáme na serveru, na klientovi v /etc/hosts. Pokud si teda například na serveru přidáme hostitele lenny, soubor /etc/hosts by měl vypadat nějak takto:
127.0.0.1 localhost lenny ...
Windows
Tady je instalace poněkud odlišná. Místo rsync se zde používá rsyncd, což je daemon běžící pomocí CYGWINu.
Pomocí skriptu
Zálohovací skript Romana Ševčíka napsaný pro vyuka.fai.utb.cz:
DST_DIR_TMP="/var/backup" DST_DIR="/backup" PASSWORD="pass" SPACE=$'\n' IFS=$'\n' IP="sip.icamp.eu" USER="root" echo "$SPACE" echo "Ulozeni datatabaze $SPACE" if ! [ -d "$DST_DIR_TMP" ] ; then # kontrola existence adresare v cilovem adresari, pripadne jeho vytvoreni echo "Vytvarim adresar$DST_DIR_TMP" mkdir $DST_DIR_TMP fi cd "$DST_DIR_TMP" date > datum +"%A" read DAT < datum rm datum mkdir "$DST_DIR_TMP"/daily_"$DAT" cd "$DST_DIR_TMP"/daily_"$DAT" for row in $(mysql -N --password="$PASSWORD" -u root <<<'show databases') do ( IFS=$'\t' cols=($row) echo "Ukladam databazi ${cols[0]} do souboru ${cols[0]}.sql" mysqldump --databases --quick --add-drop-table --add-locks --extended-insert --lock-tables -u root --password="$PASSWORD" "${cols[0]}" >"${cols[0]}".sql echo "Hotovo... $SPACE" ) done cd "$DST_DIR_TMP" echo "Balim do "$DST_DIR_TMP"/daily_"$DAT".tar.bz2" tar cjvf "$DST_DIR_TMP"/daily_"$DAT".tar.bz2 daily_"$DAT" echo "Hotovo... $SPACE" cd .. ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Sunday/database' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Monday/database' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Tuesday /database' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Wednesday/database' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Thursday/database' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Friday/database' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Saturday/database' echo "Posilam zalohu daily_"$DAT".tar.gz na $IP" scp "$DST_DIR_TMP"/daily_"$DAT".tar.bz2 "$USER"@"$IP":/backup/eric/"$DAT"/database rm -r "$DST_DIR_TMP"/daily_"$DAT" rm -r "$DST_DIR_TMP" echo "Synchronizuju lokalni adresar /var/www s adresarem na $IP" ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Sunday//data/var/www' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Monday/data/var/www' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Tuesday/data/var/www' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Wednesday/data/var/www' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Thursday/data/var/www' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Friday/data/var/www' ssh "$USER"@"$IP" 'mkdir -p /backup/eric/Saturday/data/var/www' rsync -av -e ssh --delete /var/www/ "$USER"@"$IP":/backup/eric/"$DAT"/data/var/www echo "Backup of data from $DAT has been succesfuly sent to $IP." | mail -s "Backup" dulik@fai.utb.cz -v echo "Koncim... $SPACE"