Merge branch 'master' of ssh://git.evolix.org/git/evolinux/evobackup

This commit is contained in:
Romain Dessort 2013-05-03 15:27:45 +02:00
commit 329617461e
3 changed files with 19 additions and 23 deletions

22
README
View file

@ -27,13 +27,13 @@ plusieurs To de données incrémentales.
Serveur de sauvegardes Serveur de sauvegardes
---------------------- ----------------------
Le serveur de sauvegardes doit être sous Debian Lenny. Le serveur de sauvegardes doit être sous Debian Squeeze
(testé sous Etch et Lenny, les instructions sont pour Lenny). (testé sous Etch/Lenny/Squeeze, les instructions sont pour Squeeze).
Avec les logiciels suivants : Avec les logiciels suivants :
- OpenSSH - OpenSSH
- Rsync (le daemon rsync n'est pas nécessaire) - Rsync (le daemon rsync n'est pas nécessaire)
- Le paquet makedev - Le paquet makedev (plus nécessaire depuis Squeeze)
- Commande "mail" (ou un équivalent) capable d'envoyer - Commande "mail" (ou un équivalent) capable d'envoyer
des messages à l'extérieur. des messages à l'extérieur.
@ -62,6 +62,7 @@ de warnings en positionnant les paramètres Sysctl suivants :
# sysctl kernel.grsecurity.chroot_deny_chmod=0 # sysctl kernel.grsecurity.chroot_deny_chmod=0
# sysctl kernel.grsecurity.chroot_deny_mknod=0 # sysctl kernel.grsecurity.chroot_deny_mknod=0
Note : plus nécessaire avec un noyau récent a priori
Serveurs à sauvegarder Serveurs à sauvegarder
---------------------- ----------------------
@ -103,20 +104,19 @@ Côté serveur de sauvegardes
# chmod -R 600 /backup/jails/$JAIL/root/.ssh/ # chmod -R 600 /backup/jails/$JAIL/root/.ssh/
# chown -R root:root /backup/jails/$JAIL/root/.ssh/ # chown -R root:root /backup/jails/$JAIL/root/.ssh/
2) Gestion du lancement des prisons en modifiant le fichier 2) Gestion du lancement des prisons en modifiant le fichier de démarrage
de démarrage /etc/init.d/ssh (on remplacera $JAIL par sa /etc/init.d/evobackup (on remplacera $JAIL par sa vraie valeur).
vraie valeur).
- Ajouter à start) : - Ajouter à start) :
mount -t proc proc-chroot /backup/jails/$JAIL/proc/ mount -t proc proc-chroot /backup/jails/$JAIL/proc/
mount -t devpts devpts-chroot /backup/jails/$JAIL/dev/pts/ mount -t devtmpfs udev /backup/jails/$JAIL/dev/
chroot /backup/jails/$JAIL /usr/sbin/sshd > /dev/null chroot /backup/jails/$JAIL /usr/sbin/sshd > /dev/null
- Ajouter à stop) : - Ajouter à stop) :
umount /backup/jails/$JAIL/proc/ umount /backup/jails/$JAIL/proc/
umount /backup/jails/$JAIL/dev/pts/ umount /backup/jails/$JAIL/dev/
kill -9 `chroot /backup/jails/$JAIL cat /var/run/sshd.pid` kill -9 `chroot /backup/jails/$JAIL cat /var/run/sshd.pid`
- Ajouter à reload|force-reload) : - Ajouter à reload|force-reload) :
@ -131,12 +131,12 @@ Côté serveur de sauvegardes
3) On lance la prison : 3) On lance la prison :
# mount -t proc proc-chroot /backup/jails/$JAIL/proc/ # mount -t proc proc-chroot /backup/jails/$JAIL/proc/
# mount -t devpts devpts-chroot /backup/jails/$JAIL/dev/pts/ # mount -t devtmpfs udev /backup/jails/$JAIL/dev/
# chroot /backup/jails/$JAIL /usr/sbin/sshd > /dev/null # chroot /backup/jails/$JAIL /usr/sbin/sshd > /dev/null
Pour vérifier que tout est OK : Pour vérifier que tout est OK :
# /etc/init.d/ssh reload # /etc/init.d/evobackup reload
4) Gestion des sauvegardes incrémentales 4) Gestion des sauvegardes incrémentales
@ -211,5 +211,5 @@ En cas d'une mise-à-jour d'un paquet lié à SSH ou rsync côté
serveur de sauvegardes, on mettra à jour ainsi : serveur de sauvegardes, on mettra à jour ainsi :
# sh chroot-ssh.sh updateall # sh chroot-ssh.sh updateall
# /etc/init.d/ssh restart # /etc/init.d/evobackup restart

View file

@ -83,6 +83,8 @@ chrootdir=$1
mkdir -p $chrootdir mkdir -p $chrootdir
chown root:root $chrootdir chown root:root $chrootdir
umask 022
# create jail # create jail
echo -n "1 - Creation de la prison..." echo -n "1 - Creation de la prison..."
@ -120,16 +122,7 @@ bincopy $chrootdir
echo "......OK" echo "......OK"
echo -n "4 - Creation des devices..." echo -n "4 - Termine."
cd $chrootdir/dev/
MAKEDEV {null,random,urandom,pty}
mkdir pts
#mknod ptmx c 5 2
echo "....OK"
echo -n "5 - Termine."
# end # end

View file

@ -45,7 +45,7 @@ mkdir -p -m 700 /home/backup
# for i in $(echo SHOW DATABASES | mysql | egrep -v "^(Database|information_schema)" ); \ # for i in $(echo SHOW DATABASES | mysql | egrep -v "^(Database|information_schema)" ); \
# do mkdir -p /home/mysqldump/$i ; chown -R mysql /home/mysqldump ; \ # do mkdir -p /home/mysqldump/$i ; chown -R mysql /home/mysqldump ; \
# mysqldump --force --defaults-extra-file=/etc/mysql/debian.cnf -Q --opt -T \ # mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --force -Q --opt -T \
# /home/mysqldump/$i $i; done # /home/mysqldump/$i $i; done
# Dump par base # Dump par base
@ -90,6 +90,9 @@ mkdir -p -m 700 /home/backup
# > db.addUser("mongobackup", "PASS", true); # > db.addUser("mongobackup", "PASS", true);
#mongodump -u mongobackup -pPASS -o /home/backup/mongodump/ >/dev/null 2>&1 |grep -v "^connected to:" #mongodump -u mongobackup -pPASS -o /home/backup/mongodump/ >/dev/null 2>&1 |grep -v "^connected to:"
# Dump Redis
# cp /var/lib/redis/dump.rdb /home/backup/
# Dump MBR / table partitions # Dump MBR / table partitions
# dd if=/dev/sda of=/home/backup/MBR bs=512 count=1 2>&1 | egrep -v "(records in|records out|512 bytes)" # dd if=/dev/sda of=/home/backup/MBR bs=512 count=1 2>&1 | egrep -v "(records in|records out|512 bytes)"
# sfdisk -d /dev/sda > /home/backup/partitions 2>&1 | egrep -v "(Warning: extended partition does not start at a cylinder boundary|DOS and Linux will interpret the contents differently)" # sfdisk -d /dev/sda > /home/backup/partitions 2>&1 | egrep -v "(Warning: extended partition does not start at a cylinder boundary|DOS and Linux will interpret the contents differently)"
@ -122,7 +125,7 @@ else
rep="/bsd /bin /boot /sbin /usr" rep="/bsd /bin /boot /sbin /usr"
fi fi
rsync -av --delete --force --ignore-errors \ rsync -av --delete --force --ignore-errors --partial \
--exclude "lost+found" \ --exclude "lost+found" \
--exclude ".nfs.*" \ --exclude ".nfs.*" \
--exclude "/var/log" \ --exclude "/var/log" \