Outils pour utilisateurs

Outils du site


kb:linux:donnees:backup_avec_backuppc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
kb:linux:donnees:backup_avec_backuppc [2019/01/11 15:33] beukb:linux:donnees:backup_avec_backuppc [2020/01/24 08:21] (Version actuelle) beu
Ligne 3: Ligne 3:
 ====Installation de BackupPC==== ====Installation de BackupPC====
  
-=== BackupPC 3.:====+=== BackupPC 3.:====
  
-BackupPC 3.est disponible sur les dépôts officiel de Debian:+BackupPC 3.est disponible sur les dépôts officiel de Debian:
  
 <code bash> <code bash>
Ligne 89: Ligne 89:
 ==== BackupPC 4 :==== ==== BackupPC 4 :====
  
-Attention, cela nécessite de compiler le packet.+Attention, cela nécessite de compiler le packet. J'ai donc réalisé ce script pour le faire a votre place :)
  
-On commence par installer les dépendances nécessaires :+<code bash backuppc4-setup.sh> 
 +#!/bin/bash
  
-<code bash> +if [[ $EUID -ne 0 ]]; then 
-apt-get install -y apache2 apache2-utils libapache2-mod-perl2 glusterfs-client par2 perl smbclient rsync tar sendmail gcc zlib1g zlib1g-dev libapache2-mod-scgi rrdtool git make perl-doc libarchive-zip-perl libfile-listing-perl libxml-rss-perl libcgi-session-perl +   echo "This script must be run as root"  
-</code>+   exit 1 
 +fi
  
-On créer le dossier qui contiendra les fichiers BackupPC :+echo -e "CAREFUL !\nIf you're installing from backuppc 3, backups and hosts will (normally) be conserved, \nBUT some configuration need to be changed manually by you (Apache2, backup settings,...).\nBackup your /etc/backuppc directory, and Good luck !" 
 +read -n 1 -s -r -p "Press any key to continue" 
 +echo "PURGE DE BACKUPPC ET AJOUT DES DÉPENDENCES" 
 +apt remove backuppc 
 +apt-get install -y par acl  libacl1-dev apache2 apache2-utils libapache2-mod-perl2 glusterfs-client par2 perl smbclient rsync tar gcc zlib1g zlib1g-dev libapache2-mod-scgi rrdtool git make perl-doc libarchive-zip-perl libfile-listing-perl libxml-rss-perl libcgi-session-perl libtime-parsedate-perl
  
-<code bash> +if [ ! -d "/var/lib/backuppc" ]; then 
-mkdir /var/lib/backuppc +        mkdir /var/lib/backuppc 
-</code>+        echo "CREATION DE L'UTILISATEUR BACKUPPC" 
 +        adduser --system --home /var/lib/backuppc --group --disabled-password --shell /bin/bash backuppc 
 +        mkdir -p /var/lib/backuppc/.ssh 
 +        ssh-keygen -q -t rsa -b 4096 -N '' -C "BackupPC key" -f /var/lib/backuppc/.ssh/id_rsa 
 +        echo -e "BatchMode yes\nStrictHostKeyChecking accept-new" /var/lib/backuppc/.ssh/config 
 +        chmod 700 /var/lib/backuppc/.ssh && chmod 600 /var/lib/backuppc/.ssh/id_rsa && chmod 644 /var/lib/backuppc/.ssh/id_rsa.pub && chmod 644 /var/lib/backuppc/.ssh/config && chown -R backuppc:backuppc /var/lib/backuppc/.ssh  
 +fi
  
-Puis on créer l'utilisateur backuppc :+pushd `mktemp -d` 
 +mkdir backuppc rsync-bpc backuppc-xs
  
-<code bash> +echo "RECUPERATION DES DÉPOTS BACKUPPC" 
-# adduser --system --home /var/lib/backuppc --group --disabled-password --shell /bin/false backuppc +curl -s https://api.github.com/repos/backuppc/backuppc/releases/latest | grep "browser_download_url.*.tar.gz" | cut -d : -f 2,3 | tr -d \" | wget -qi - -O backuppc.tar.gz 
-</code>+curl -s https://api.github.com/repos/backuppc/rsync-bpc/releases/latest | grep "browser_download_url.*.tar.gz" | cut -d : -f 2,3 | tr -d \" | wget -qi - -O rsync-bpc.tar.gz 
 +curl -s https://api.github.com/repos/backuppc/backuppc-xs/releases/latest | grep "browser_download_url.*.tar.gz" | cut -d : -f 2,3 | tr -d \" | wget -qi - -O backuppc-xs.tar.gz
  
-Ensuite on créer les clés ssh:+echo "COMPILATION DE BACKUPPC-XS" 
 +tar -xzf backuppc-xs.tar.gz -C backuppc-xs/ 
 +cd backuppc-xs/*/ 
 +perl Makefile.PL 
 +make 
 +make test 
 +make install 
 +cd ../../
  
-<code bash> +echo "COMPILATION DE RSYNC-BPC" 
-# mkdir -/var/lib/backuppc/.ssh +tar -xzf rsync-bpc.tar.gz -C rsync-bpc/ 
-</code>+cd rsync-bpc/*/ 
 +./configure 
 +make 
 +make install 
 +cd ../../
  
-<code bash> +echo "COMPILATION DE BACKUPPC" 
-# ssh-keygen --t rsa -b 4096 -N '' -C "BackupPC key" -/var/lib/backuppc/.ssh/id_rsa +tar -xzf backuppc.tar.gz -C backuppc/ 
-</code>+cd backuppc/*/ 
 +if [ -f "/etc/backuppc/config.pl" ]; then 
 + systemctl stop backuppc 
 +        ./configure.pl --batch --config-path /etc/backuppc/config.pl 
 + popd 
 + systemctl start backuppc 
 +else 
 +        ./configure.pl --batch --cgi-dir /usr/local/backuppc/cgi-bin --data-dir /var/lib/backuppc --hostname backuppc --html-dir /usr/local/backuppc/cgi-bin --html-dir-url '' --install-dir /usr/local/backuppc --config-dir /etc/backuppc 
 + echo "CONFIGURATION DE BACKUPPC" 
 + cp systemd/backuppc.service /etc/systemd/system/ && systemctl daemon-reload 
 + sed -i "s/{CgiAdminUsers}     = '';/{CgiAdminUsers}     = 'backuppc';/g" /etc/backuppc/config.pl 
 + systemctl enable --now backuppc
  
-<code bash> + echo "CONFIGURATION D'APACHE2" 
-echo -e "BatchMode yes\nStrictHostKeyChecking no" > /var/lib/backuppc/.ssh/config + cat << EOF > /etc/apache2/sites-available/001-backuppc.conf 
-</code>+<VirtualHost *:80> 
 +        DocumentRoot /usr/local/backuppc/cgi-bin
  
-Et on redéfinit les droits :+        Alias /hw /var/www/hw/
  
-<code bash> +        <Directory /usr/local/backuppc/cgi-bin/> 
-chmod 700 /var/lib/backuppc/.ssh && chmod 600 /var/lib/backuppc/.ssh/id_rsa && chmod 644 /var/lib/backuppc/.ssh/id_rsa.pub && chmod 644 /var/lib/backuppc/.ssh/config && chown -R backuppc:backuppc /var/lib/backuppc/.ssh +                AllowOverride None 
-</code>+                Allow from all
  
-On git clone ensuite les trois dépôts de BackupPC :+                Options ExecCGI FollowSymlinks 
 +                DirectoryIndex BackupPC_Admin
  
-<code bash+                <FilesMatch "BackupPC_Admin$"
-# git clone https://github.com/backuppc/backuppc.git && git clone https://github.com/backuppc/backuppc-xs.git && git clone https://github.com/backuppc/rsync-bpc.git +                        SetHandler cgi-script 
-</code+                </FilesMatch> 
 +                AuthUserFile /etc/backuppc/htpasswd 
 +                AuthType basic 
 +                AuthName "BackupPC admin" 
 +                require valid-user 
 +        </Directory>
  
-Ensuite pour chaque packets : +</VirtualHost>
  
-=== backuppc-xs : ===+EOF 
 + sed -i 's/www-data/backuppc/' /etc/apache2/envvars 
 + a2dissite 000-default 
 + a2enmod cgid && a2ensite 001-backuppc.conf
  
-<code bash> + systemctl restart apache2
-# cd backuppc-xs +
-</code> +
-<code bash> +
-# git tag | tail -1 | xargs git checkout +
-</code> +
-<code bash> +
-# perl Makefile.PL +
-</code> +
-<code bash> +
-# make +
-</code> +
-<code bash> +
-# make test +
-</code> +
-<code bash> +
-# make install +
-</code> +
-<code bash> +
-# cd .. +
-</code> +
-=== rsync-bpc === +
-<code bash> +
-# cd rsync-bpc +
-</code> +
-<code bash> +
-# git tag | tail -1 | xargs git checkout +
-</code> +
-<code bash> +
-# ./configure +
-</code> +
-<code bash> +
-# make +
-</code> +
-<code bash> +
-# make install +
-</code> +
-<code bash> +
-# cd .. +
-</code>+
  
-=== backuppc === + if [ ! -f "/etc/backuppc/htpasswd" ]; then 
-<code bash> +         touch /etc/backuppc/htpasswd 
-# cd backuppc +         htpasswd -/etc/backuppc/htpasswd 'backuppc' 'password' 
-</code> + fi
-<code bash> +
-# git tag | tail -1 | xargs git checkout +
-</code>+
  
-<code bash> + popd 
-# ./configure.pl --batch --cgi-dir /usr/local/backuppc/cgi-bin/ --data-dir /var/lib/backuppc --hostname backuppc --html-dir /usr/local/backuppc/cgi-bin/ --html-dir-url / --install-dir /usr/local/backuppc --config-dir /etc/backuppc+fi 
 + 
 +echo -e "FINI !\nUse the account backuppc with the password 'password'"
 </code> </code>
  
  
kb/linux/donnees/backup_avec_backuppc.1547220838.txt.gz · Dernière modification : 2019/01/11 15:33 de beu