Free disk aneb jak zálohuji - fórum

Kategorie: WEDOS Disk / Free varianta

přidatNový příspěvek

Chcete-li odebírat toto téma e-mailem, přihlašte se nebo se nejprve zaregistrujte.

Free disk aneb jak zálohuji

Petr Černohorský, 23.07.2012 21:48:00

Vidina trička mě donutila napsat tento článek :-)
Nejsem kdo ví jak kovaná ajťák, ale spíš tak kutil Tim vy kovaní to berte s rezervou.

Využil jsem možnosti a pořídil jsem si disk free variantu a zkusím sem napsat jak mám řešené zálohování.

Jdeme na to:
OS: Debian
Zálohovací SW: duplicity
Ostatní SW: Cron, curlftpfs, bash

Zavolal jsem příkaz:
#aptitude install curlftpfs
(tento program umožňuje přimoutit ftp disk do systému)

následně jsem si upravil soubor /etc/fstab
např: #nano /etc/fstab
a přidal jsem řádek
# pripojeni zaloznoho disku pres ftp:

curlftpfs#{uzivatel}:{heslo}@{ftp adresa disku} /mnt/wedos-disk-10GB fuse user,noauto 0 0

uložil jsem soubor (nezapomeňte nechat poslední řádek prázdný).
Nesmíme teď zapomenout vytvožit patřičný adresář
např:
#mkdir /mnt/wedos-disk-10GB

Vše máme připraveno a zavoláme mount
#mount /mnt/wedos-disk-10GB

pokud vše proběhne bez problému tam máme disk připojený do systému.

Co dál >
Nainstalujeme si duplicity
např:
#aptitude install duplicity
vytvořil jsem si v rootu adresář backup
#mkdir /root/backup
a dva soubory
#> /root/backup/backup-file.sh
a
#> /root/backup/filelist.txt

do souboru backup-file.sh
jsem napsal nálsedující text(možno zkopírovat):
#!/bin/bash
# ------ zalohovani celeho systemu
ZALOHA_ZACATEK=$(date +"%F %T");
ZAL_PROGRAM=duplicity;

ZAL_PARAM='--include-globbing-filelist /root/backup/filelist.txt';
ZAL_DISK="/mnt/wedos-disk-10GB";
ZAL_CIL=$ZAL_DISK"/backup";
SOUBOR_ADRESARU="/";
ZALOZNI_ADRESAR=$(date +"%V");
ZALOZNI_CESTA=$ZAL_CIL/$ZALOZNI_ADRESAR;
ZALOZNI_PRIPONA="tar";
POCET_ZALOH=2;

#Heslo pro zalohy
export PASSPHRASE='zde si nastavte vlasni heslo pro symetrickou sifru';
#----------------------------------------------------------------------------------------

#pripojeni zalozniho disku
if [ -z "$(mount | grep $ZAL_DISK)" ] ; then
mount $ZAL_DISK;
echo "Byl pripojen zalozni disk: $ZAL_DISK";
else
echo "Zalozni disk je jiz pripojen";
fi

if [ -z "$(mount | grep $ZAL_DISK)" ] ; then
echo "Nepovedlo se pripojit zalozni disk: $ZAL_DISK";
echo "Script bude ukoncen";
exit 1;
fi

cd $ZAL_CIL
TYP_ZALOH='full'
if [ -d $ZAL_CIL/$ZALOZNI_ADRESAR ] ; then
TYP_ZALOH='incr';
else
TYP_ZALOH='full';
mkdir $ZALOZNI_ADRESAR;
fi

if [ ! -d $ZAL_CIL/$ZALOZNI_ADRESAR ] ; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
echo "Nepovedlo se vytorit zalozni adresar: "$ZALOZNI_ADRESAR;
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
exit 1;
fi

echo "Zaloha blicku systemu";
dpkg --get-selections > $ZALOZNI_ADRESAR/balicky.txt;

echo "Zalohovani celeho systemu";
$ZAL_PROGRAM $TYP_ZALOH $ZAL_PARAM $SOUBOR_ADRESARU file:///$ZALOZNI_CESTA;


echo "Smazani stare zalohy";
cd $ZAL_CIL;
rm -Rfv $(date --date="$POCET_ZALOH weeks ago" +"%V");
echo "----------------------------------------";

echo "-------------- Statistika----------------";
echo "Zacatek: "$ZALOHA_ZACATEK;
echo "Konec: "$(date +"%F %T");
echo "Velikost zalohy: "$(du -sh $ZALOZNI_CESTA);
echo "-------------Par prikazu----------------------";
echo "uptime: " $(uptime);
echo "w:" $(w);
echo "df -h | grep sda1:" $(df -h | grep sda1);

do souboru filelist.txt jsem napsal následující text (možno také zkopírovat):
- /srv/backup/**
- /media/**
- /proc
- /sys
- /dev
- /tmp/**
- /var/tmp
+ /var/cache
- **/.cache
- /mnt/**
- /boot/**

u scriptu backup-file.sh nezapomeňte nastavit práva pro spuštění
např:
# chown 0700 /root/backup/backup-file.sh
a
#chmod root:root /root/backup/backup-file.sh

Popis souborů:
backup-file.sh - záložní script (obsluhuje zálohu)
-první den v týdnu udělá full zálohu a následující dny pouze incrementy
-zálohy dává do adresáře týden v daném roce
-udržuje dva týdny starší zálohu smaže

file-list.txt
které adresáře se dají vynechat a pod.

Script zálohuje celý systém kromě parametrů ve file-list.txt

a nakonec nesmíme zapomenout na zadání do Cronu aby se nám pravidelně script spouštěl.
příkazem
#crontab -e
a dále napsat
MAILTO={email kam posilat echo o zaloze}
0 23 * * * time /root/backup/backup-file.sh

uložit a pokud se nestala chyba tak je zálohování funkční
Pokud ano tak gratuluji.

Přihlášení zákazníka

Nemáte ještě zákaznický účet? Registrace

Copyright © WEDOS, 2018

Facebook RSS