From 1f60b99e335f1e675ec4535b3e4a16b8af38e30f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Mon, 30 Jul 2012 14:52:10 +0200 Subject: [PATCH 1/5] Add a new way of backuping MySQL databases. Each databases go in a separate .sql.gz file. --- zzz_evobackup | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zzz_evobackup b/zzz_evobackup index ed7f534..a33f24b 100644 --- a/zzz_evobackup +++ b/zzz_evobackup @@ -36,6 +36,12 @@ mkdir -p -m 700 /home/backup # mysqldump --defaults-extra-file=/etc/mysql/debian.cnf \ # --opt --all-databases | gzip --best > /home/backup/mysql.bak.gz +# Dump des BDD en .sql.gz +# mkdir -p /home/mysqldump/ +# for i in $(mysql -e 'show databases' -s --skip-column-names | egrep -v "^(Database|information_schema)"); do +# mysqldump $i | gzip --best > /home/mysqldump/${i}.sql.gz +# done + # for i in $(echo SHOW DATABASES | mysql | egrep -v "^(Database|information_schema)" ); \ # do mkdir -p /home/mysqldump/$i ; chown -R mysql /home/mysqldump ; \ # mysqldump --defaults-extra-file=/etc/mysql/debian.cnf -Q --opt -T \ From 1c3390b3983f5969b03792eb4eff84d5587ea9ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Mon, 30 Jul 2012 14:55:09 +0200 Subject: [PATCH 2/5] Adding --force parameter to mysqldump commands. This permit to continue even if mysqldump fail (i.e corrupt table). --- zzz_evobackup | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zzz_evobackup b/zzz_evobackup index a33f24b..abfe3e2 100644 --- a/zzz_evobackup +++ b/zzz_evobackup @@ -34,23 +34,23 @@ mkdir -p -m 700 /home/backup # Dump MySQL # mysqldump --defaults-extra-file=/etc/mysql/debian.cnf \ -# --opt --all-databases | gzip --best > /home/backup/mysql.bak.gz +# --opt --all-databases --force | gzip --best > /home/backup/mysql.bak.gz # Dump des BDD en .sql.gz # mkdir -p /home/mysqldump/ # for i in $(mysql -e 'show databases' -s --skip-column-names | egrep -v "^(Database|information_schema)"); do -# mysqldump $i | gzip --best > /home/mysqldump/${i}.sql.gz +# mysqldump --force $i | gzip --best > /home/mysqldump/${i}.sql.gz # done # for i in $(echo SHOW DATABASES | mysql | egrep -v "^(Database|information_schema)" ); \ # do mkdir -p /home/mysqldump/$i ; chown -R mysql /home/mysqldump ; \ -# mysqldump --defaults-extra-file=/etc/mysql/debian.cnf -Q --opt -T \ +# mysqldump --force --defaults-extra-file=/etc/mysql/debian.cnf -Q --opt -T \ # /home/mysqldump/$i $i; done # Dump par base # mkdir -p -m 700 /home/mysqldump/BASE # chown -R mysql /home/mysqldump/ -# mysqldump --defaults-extra-file=/etc/mysql/debian.cnf -Q \ +# mysqldump --force --defaults-extra-file=/etc/mysql/debian.cnf -Q \ # --opt -T /home/mysqldump/BASE BASE # mkdir -p /home/mysqlhotcopy/ From f66d08863639fab29936f2540357bb77be0959af Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Sat, 27 Oct 2012 18:27:18 +0200 Subject: [PATCH 3/5] backup Redis --- zzz_evobackup | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zzz_evobackup b/zzz_evobackup index 6a78fd7..607714a 100644 --- a/zzz_evobackup +++ b/zzz_evobackup @@ -83,6 +83,9 @@ mkdir -p -m 700 /home/backup # > db.addUser("mongobackup", "PASS", true); #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 # 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)" From 1f910818ca3e5bb85f3d55be2333e52402403f5e Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Sun, 27 Jan 2013 18:39:22 +0100 Subject: [PATCH 4/5] Update infos about versions of Debian --- README | 22 +++++++++++----------- chroot-ssh.sh | 13 +++---------- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/README b/README index 5283cf5..c333125 100644 --- a/README +++ b/README @@ -27,13 +27,13 @@ plusieurs To de données incrémentales. Serveur de sauvegardes ---------------------- -Le serveur de sauvegardes doit être sous Debian Lenny. -(testé sous Etch et Lenny, les instructions sont pour Lenny). +Le serveur de sauvegardes doit être sous Debian Squeeze +(testé sous Etch/Lenny/Squeeze, les instructions sont pour Squeeze). Avec les logiciels suivants : - OpenSSH - 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 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_mknod=0 +Note : plus nécessaire avec un noyau récent a priori Serveurs à sauvegarder ---------------------- @@ -103,20 +104,19 @@ Côté serveur de sauvegardes # chmod -R 600 /backup/jails/$JAIL/root/.ssh/ # chown -R root:root /backup/jails/$JAIL/root/.ssh/ -2) Gestion du lancement des prisons en modifiant le fichier - de démarrage /etc/init.d/ssh (on remplacera $JAIL par sa - vraie valeur). +2) Gestion du lancement des prisons en modifiant le fichier de démarrage + /etc/init.d/evobackup (on remplacera $JAIL par sa vraie valeur). - Ajouter à start) : 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 - Ajouter à stop) : 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` - Ajouter à reload|force-reload) : @@ -131,12 +131,12 @@ Côté serveur de sauvegardes 3) On lance la prison : # 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 Pour vérifier que tout est OK : - # /etc/init.d/ssh reload + # /etc/init.d/evobackup reload 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 : # sh chroot-ssh.sh updateall -# /etc/init.d/ssh restart +# /etc/init.d/evobackup restart diff --git a/chroot-ssh.sh b/chroot-ssh.sh index bd08f20..d57c2c1 100644 --- a/chroot-ssh.sh +++ b/chroot-ssh.sh @@ -83,6 +83,8 @@ chrootdir=$1 mkdir -p $chrootdir chown root:root $chrootdir +umask 022 + # create jail echo -n "1 - Creation de la prison..." @@ -120,16 +122,7 @@ bincopy $chrootdir echo "......OK" -echo -n "4 - Creation des devices..." - cd $chrootdir/dev/ - - MAKEDEV {null,random,urandom,pty} - mkdir pts - #mknod ptmx c 5 2 - -echo "....OK" - -echo -n "5 - Termine." +echo -n "4 - Termine." # end From 1a54bb92e34cc39aea806d15e26927dc2c88900c Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Mon, 28 Jan 2013 00:18:11 +0100 Subject: [PATCH 5/5] Error on mysqldump option --- zzz_evobackup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zzz_evobackup b/zzz_evobackup index 6f3eb16..7bf7bab 100644 --- a/zzz_evobackup +++ b/zzz_evobackup @@ -44,7 +44,7 @@ mkdir -p -m 700 /home/backup # for i in $(echo SHOW DATABASES | mysql | egrep -v "^(Database|information_schema)" ); \ # 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 # Dump par base