Linux: Příklady zálohování - rsync, tar, rdiff backup, dd, ftp, ssh, mysql

Linux: Příklady zálohování - rsync, tar, rdiff backup, dd, ftp, ssh, mysql

linux-priklady-zalohovani-rsync-tar-rdiff-backup-dd-ftp-ssh-mysql
Ohledně zálohování na linuxových systémech toho lze všude na netu nalézt hodně, ale tak nějak chybí jednoduchý článek se základními příklady použítí nástrojů rsync, tar, rdiff backup, dd, ftp, ssh, dump mysql - proto čtěte dále.

Zálohování MySQL


- provede zálohu MySQL databáze "mojedatabaze"


mysqldump -u root -h localhost -pheslo mojedatabaze | gzip -9 > mojedatabaze.sql.gz



- provede zálohu všech MySQL databází


mysqldump -u root -h localhost -pheslo --all-databases | gzip -9 > vsechnydatabaze.sql.gz





Zálohování vzdáleně přes rsync


- provede zálohu místního adresáře /home/hanz do vzdáleného umístění 192.168.7.77:/media/data/ s vynecháním souborů .txt

rsync -av --exclude="*.txt" /home/hanz root@192.168.7.77:/media/data/

#někdy se uvádí použití exclude a include i bez '=', ale manuál se zmiňuje jen o variantě s '='



Tar (komprimovaná) záloha přes SSH


- přihlásí se na vzdálené umístění 192.168.85.252, z něj zazálohuje /var/lib/mysql a /var/www do lokálního /home/backups/zaloha.tar.gz s komprimací gzip.


ssh root@192.168.85.252 | tar -czvf "/home/backups/zaloha.tar.gz" -P /var/lib/mysql /var/www



Inkrementální (přírůstková) záloha (rdiff-backup)


- bude automatizovaně zálohovat (přírůstky) z /home do umítění /media/usb/backup kromě /home/temp

rdiff-backup --exclude /home/temp --exclude "**/.*" /home /media/usb/backup

rdiff-backup - vyjímka na skryté soubory a adresáře (.*)

rdiff-backup --exclude "**/.*" /home /media/usb/backup

rdiff-backup - vyjímka na skryté soubory a adresáře (.*), ale zároveň povolit zálohu /home/user/.password-store/

rdiff-backup --include /home/user/.password-store/ --exclude "**/.*" /home /media/usb/backup


rdiff-backup - záloha na vzdálené umístění přes SSH

rdiff-backup /home/user/ user@10.10.10.10::/mnt/backups/rdiff_user


Klonování či vytvoření image celého oddílu/disku pomocí DD


DD je linuxový nástroj s primárním určením pro konvertování a kopírování dat (DD = convert and copy files). Umožňuje mimo jiné klonovat disky či ukládat jejich obsah do image - to je vhodné právě pro zálohu celého systému do jednoho souboru.

DD - vytvoření image disku do lokálního umístění


- převede obsah z /dev/md0p1 do image /mnt/usb/clone/md0p1.img


dd if=/dev/md0p1 | gzip -1 - | dd of="/mnt/usb/clone/md0p1.img"



DD - vytvoření image disku ze vzdáleného umístění


- přihlásí se přes SSH na vzdálené umístění 192.168.85.252, provede vytvoření image (vzdáleného) zařízení /dev/mmcblk0p1 do místního adresáře /home/backups/mmcblk0p1-image.gz


ssh root@192.168.85.252 "dd if=/dev/mmcblk0p1 | gzip -1 -" | dd of="/home/backups/mmcblk0p1-image.gz"



DD - klon z disku na disk (zrcadlo 1:1)


- provede překlonování disku /dev/sda na /dev/sdb


dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync



Záloha z FTP umístění pomocí WGET


- provete zálohu z FTP umístění ftp://user:heslo@domena.cz/adresar do místního adresáře /home/backups/ftp/


wget -r --directory-prefix=/home/backups/ftp/ ftp://user:heslo@domena.cz/adresar




Ukázka jednoduché interaktivní zálohy s proměnnými


- obsahuje základní logy, mount disku, rsync dat, notifikaci na email s přílohami a vypnutí stroje


#!/bin/bash
echo -n Pokud chces stroj po zaloze vypnout tak napis cislo 1:
read vypnout
datum=$(date '+%y-%m-%d')
uname -a >> /tmp/$datum.log-messages.txt
tail -500 /var/log/auth.log | grep 'sshd' > /tmp/$datum.log-ssh.txt
tail -100 /var/log/messages >> /tmp/$datum.log-messages.txt
mount /dev/sdc1 /mnt/usb
rsync -av --exclude="backups/" --delete /home/ /mnt/usb/backups -progress >> /tmp/$datum.backup.log
umount /mnt/usb
echo -e "Zaloha byla prave dokoncena. \n Datum je $datum" | mutt -s "Predmet zpravy" -a "/tmp/$datum.backup.log" -a "/tmp/$datum.log-messages.txt" -a "/tmp/$datum.log-ssh.txt" -- email@email.cz
if [ $vypnout == 1]; then
shutdown -h now
else
Zaloha byla dokoncena muzete vyjmout USB disk
echo "Zaloha je hotova, system nebude vypnut" | mail -v -s "Predmet zpravy" email@email.cz
fi

Komentáře

Vaše reakce na Linux: Příklady zálohování - rsync, tar, rdiff backup, dd, ftp, ssh, mysql
Martin

25.10.2016 [1]
Ahoj, mám raspberry pi 3 a už mi postupně odchází sd karta, v logu se objevují hlášky typu:



<blockquote>WARNING: Kernel Errors Present
Buffer I/O error on dev sda1, log ...: 1 Time(s)
EXT4-fs error (device sda1) in ...: 1 Time(s)
EXT4-fs error (device sda1): _ ...: 1 Time(s)
EXT4-fs warning (device sda1): htree_dirblock_to_tree:959: inode #2: lblock 0: comm ls: error -5 reading direc ...: 1 Time(s)
JBD2: Error -5 detected when ...: 1 Time(s)
WARNING: CPU: 2 PID: 24670 at fs/fs-writeback.c: ...: 1 Time(s)</blockquote>



Chci preventivně provést klon / překopírování na novou SD kartu u mého raspberry pi, jak na to?

Dík Martin
OL3G

25.10.2016 [2]
Čau,

na nějaké linuxové mašině proveď pomocí DD zálohu SD karty do image:

<code>dd bs=4M if=/dev/sdc | gzip > /home/image.gz</code>

Pak proveď obnovu <code>gzip -dc /home/image.gz | dd bs=4M of=/dev/sdc</code>

Na Windows toto můžeš s SD kartou z Raspberry Pi udělat pomocí Win32 Disk Imager.
Po51Ak

04.12.2016 [3]
A jak by se mělo postupovat, když chci celý HDD zálohovat pomocí DD do image? A jak následně provedu obnovu dat? Dík
OL3G

04.12.2016 [4]
Poslední komentář
Čau Po51Ak,

základní DD příkaz pro vytvoření image z celého disku:
<code>dd if=/dev/sdc if=/tmp/zaloha.img</code>
a obnova pak
<code>dd if=/tmp/zaloha.img if=/dev/sdc</code>

Můžeš však ušetřit nějaké místo když dáš kompresi gzip:
<code>dd if=/dev/sdc ibs=4096 | gzip &gt; /tmp/zaloha.image.gz </code>
Obnovu pak uděláš takto:
<code>dd if=/tmp/zaloha.image.gz | gunzip | dd of=/dev/sdc</code>
nebo také
<code>gunzip -c /tmp/zaloha.image.gz | dd of=/dev/hda conv=sync,noerror bs=64K</code>

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.