La question de la sauvegarde est toujours un sujet un peu tendu lorsque l »on gère ses serveurs. il existe beaucoup de solutions plus ou moins complexes à mettre en oeuvre, et puis on se rabat souvent sur la solution de facilité: le petit script
fait maison qui va bien. Pourtant il existe une solution très simple qui gère tout un tas de choses pour vous: backup-manager!
Voici donc la procédure d »installation de backup-manager pour sauvegarder quelques répertoires et toute votre base MySQL! Un seul mot d »ordre: SIM-PLI-CI-TE !
apt-get install backup-manager
mkdir -p /home/backup
Archives location:
/home/backup
Owner user of the repository:
root
Owner group of the repository:
root
Directories to backup: (listez ici, séparés par un espace, l"ensemble des répertoires que vous souhaitez sauvegarder)
/etc /home/web /var/www
Par défaut backup-manager ne fait qu »une sauvegarde en local
Nous allons éditer le fichier de config pour que backup-manager fasse tous les jours une sauvegarde complète par FTP
Nous faisons le choix de sauvegarder les fichiers sous forme d »archives tarball, et se sauvegarder également le mysql
Changez le nombre d »archives que vous souhaitez garder (ici 10 jours, par défaut 5)
Si vous voulez exclure des répertoires (des logs par exemple), editez la variable
Définissez les login/pass de l »utilisateur mysql qui vous permettra de faire la sauvegarde (Créez un utilisateur dédié)
Maintenant les modifications pour envoyez les archives
Nous allons éditer le fichier de config pour que backup-manager fasse tous les jours une sauvegarde complète par FTP
vi /etc/backup-manager.confNous faisons le choix de sauvegarder les fichiers sous forme d »archives tarball, et se sauvegarder également le mysql
BM_ARCHIVE_METHOD="tarball mysql"Changez le nombre d »archives que vous souhaitez garder (ici 10 jours, par défaut 5)
BM_ARCHIVE_TTL=10Si vous voulez exclure des répertoires (des logs par exemple), editez la variable
BM_TARBALL_BLACKLIST="/var/archives"Définissez les login/pass de l »utilisateur mysql qui vous permettra de faire la sauvegarde (Créez un utilisateur dédié)
BM_MYSQL_ADMINLOGIN="backup"
BM_MYSQL_ADMINPASS="backuppassword"Maintenant les modifications pour envoyez les archives
par FTP:
On crée ensuite uns script qui va vérifier le backup après le process pour être sur que tout est ok (vous recevrez un petit mail de confirmation à chaque backup)
BM_UPLOAD_METHOD="ftp"
BM_UPLOAD_HOSTS="ftp.domaine.com"
BM_UPLOAD_DESTINATION="/"
BM_UPLOAD_FTP_USER="ftpuser"
BM_UPLOAD_FTP_USER="ftppassword"
BM_UPLOAD_FTP_HOSTS="ftp.domaine.com"On crée ensuite uns script qui va vérifier le backup après le process pour être sur que tout est ok (vous recevrez un petit mail de confirmation à chaque backup)
BM_POST_BACKUP_COMMAND="/etc/backup-manager-post"
On sauvegarde le fichier puis on crée le script post-backup
Et on met dedans:
vi /etc/backup-manager-postEt on met dedans:
#!/usr/bin/php
<?php
$dest = array("VOTRE@EMAIL.COM");
$archives = "/home/backup";
$archives = "/home/backup";
$host = trim(file_get_contents("/etc/hostname"));
clearstatcache();
$dir = opendir($archives);
if($dir) {
while(false !== ($filename = readdir($dir))) {
if($filename[0]!="." && preg_match("/".date("Ymd")."/",$filename)) {
$thefile = $archives."/".$filename;
$size = exec("ls -l "".$thefile."" | awk "{print $5}"");
if($size>0) {
$pagetext.= $filename." (".round($size/1000000000,2)." Go)n";
} else {
$pagetext.= $filename." (? Go)n";
}
$totalsize = $size;
}
}
$pagetext .= "nTotal : ".round($totalsize/1000000000,2)." Gon";
}
if($dir) {
while(false !== ($filename = readdir($dir))) {
if($filename[0]!="." && preg_match("/".date("Ymd")."/",$filename)) {
$thefile = $archives."/".$filename;
$size = exec("ls -l "".$thefile."" | awk "{print $5}"");
if($size>0) {
$pagetext.= $filename." (".round($size/1000000000,2)." Go)n";
} else {
$pagetext.= $filename." (? Go)n";
}
$totalsize = $size;
}
}
$pagetext .= "nTotal : ".round($totalsize/1000000000,2)." Gon";
}
foreach($dest as $d) {
mail($d,"[".$host."] Backup OK",$pagetext);
}
mail($d,"[".$host."] Backup OK",$pagetext);
}
?>
Et voilà backup-manager va automatiquement tout sauvegarder tous les jours, et en plus vous envoyer un mail de
confirmation!
Aucun commentaire:
Enregistrer un commentaire