Vos avis, critiques, conseils sur mon script de backup

Nouveau WRInaute
Bonjour à tous,

Comptant prendre un serveur dédié sous peu (cette semaine ou la prochaine), j'essaie de me préparer le plus possible avant. Je tiens à préciser que je n'ai aucune expérience dans la gestion des serveurs dédiés et pas des masses non plus dans Linux (j'y ai mis la tête dedans depuis quelques jours seulement...).

Mes 3 problématiques principales ont été:
1- l'envoi de mail (site accès membre avec mail de validation) pour éviter d'être assimilé à du spam // Normalement OK
2- mise à jour régulière de la Release OVH 2 // normalement OK
3- mise en place d'un système de back up // je l'espère grâce à vous bientôt OK :)

L'idée pour mon backup: faire 1 backup quotidien de ma table membres et 1 backup hebdomadaire de toute ma base

NB: je me suis inspiré du script de Ron56 => https://www.webrankinfo.com/forum/sauvegarder-dedie-part-t95025.html

Je rappelle que je n'ai pas encore le serveur et tous ce que je vais vous exposer ne pourra être vérifié en pratique.

Après avoir activé le serveur de backup fourni avec les serveurs dédiés chez OVH,
je créé sur le serveur dédié (serveur client) 2 repertoires backupsql1 et backupsql2 sous /home
et je créé aussi les répertoires correspondant sur le serveur de backup (rep_backup1 et rep_backup2)

Commande executé en root:
création de la clé ssh permettant aux 2 serveurs d'interagir + copie de la clé publique vers le serveur de backup

Code:
ssh-keygen -t dsa -b 1024  	 
ssh-copy-id -i ~/.ssh/id_dsa.pub user@ip.du.serveur_de_backup

script de backup1: backup1.sh (backup quotidien d'une seule de mes tables -table membres)

Code:
#!/bin/bash
echo Script de sauvegarde ...

dateActuelle=$(date +%d%m%Y)
chemin_backup="/home/backupsql1/fichier_dump_"$dateActuelle.sql

find /home/backupsql1/ -mtime +30 -exec rm -f {} \;  
#je supprime les fichiers de plus de 30 jours du répertoire de backup du serveur client
mysqldump --user=root --password=****** ma_base --tables ma_table  > $chemin_backup    

# dois-je zipper le dump ou pas ?  si oui  après ma_table | gzip >     et   à la fin de chemin_backup => .sql.gz

echo Trancfert via rsync
rsync -arz --stats --progress --delete --force --ignore-errors  /home/backupsql/ $user@$adresse:rep_backup1  
#envoi par rsync vers le répertoire du serveur de backup

echo Fin de la sauvegarde
exit 0

on se place dans /home/root pour donner les droits d'execution, + de sécurité et voir si ça marche

Code:
cd /root
chmod +x backup1.sh  
chmod 640 backup1.sh 
./backup1.sh
Pour mettre en cron:
Code:
vim /etc/crontab
30 04 * * * root cd /root && ./backup1
=>script executé tous les jours à 4h30 du matin

Première question: Est-ce que j'utilise la bonne syntaxe pour chemin_backup ?
avec PHP, j'écrirais $chemin_backup="/home/backupsql1/fichier_dump_".$dateActuelle.".sql"; mais sous Linux ?

Deuxième question: dans le script de Ron56, il créé le script backup.sh mais pour tout ce qui suit, il utilise sauvegarde.sh et sauvegarde dans le cron ?! Vos avis, une petite erreur ? Est-ce ok de mon côté ?

Je fais à peu près de même pour le backup hebdomadaire de toute ma base:

Ce qui change =>
le repertoire sur serveur client backusql1 devient backupsql2 (chemin_backup change donc en chemin_backup2),
le repertoire de destination du rsync sur le serveur de backup rep_backup1 devient rep_backup2,
le script backup1.sh devient backup2.sh,
mysql dump devient => mysqldump --user=root --password=****** ma_base > $chemin_backup2,
le cron devient => 00 05 * * 0 root cd /root && ./backup2 // script executé tous les dimanche à 5h00 du matin,
j'efface toujours les fichiers de plus de 30 jours, je conserve donc ainsi les 4 dernières sauvegardes.

Voilà donc ce que je compte utilisé pour sauvegardé mes données sql.

En plus de cela, je compte aussi sauvegarder le repertoire contenant les photos des membres (1 seul photo + miniature par membre):
=> rsync -arz --stats --progress --delete --force --ignore-errors /home/www/image_profil/ $user@$adresse:$rep_backup3

Est-ce la bonne syntaxe ?

En attendant vos avis, merci d'avance de m'accorder de votre temps.
 
WRInaute impliqué
Bonjour,

Personnellement je ne me suis pas embêté et j'ai utilisé backup-manager, un tuto est dispo ici -http://documentation.online.net/fr/serveur-dedie/sauvegarde/sauvegarde-dedibackup#backup_manager_gnulinux
Il répond à vos attentes en terme de sauvegarde et une fois configuré en quelques minutes, on l'oublie.
 
Nouveau WRInaute
@Bigb06: j'ai vu que certains conseillaient backup-manager et j'ai donc regardé quelques tutoriels et forums portant sur lui. Et c'est une possibilité, oui.

Mais ma démarche est plus dans l'objectif de progresser dans l'administration de serveur dédié: après avoir pas mal squatté de forum avec google comme traducteur des termes techniques Linuxien :mrgreen: , j'ai l'impression de commencer à cerner un tout petit peu le sujet (ici le backup).

Ce post est plus à prendre comme un TD d'un élève cherchant à se faire corriger.

Cependant je te remercie du lien, ça me fait un tutoriel de plus si backup-manager devient la seule alternative...

En attendant, d'autres conseils sur mon script, merci d'avance
 
Nouveau WRInaute
Merci, j'avais bien compris que backup-manager était assez conseillé.

Mais à part ça le script au-dessus vous semble-t-il correct ou pas du tout ?

Merci d'avance
 
Nouveau WRInaute
Personne pour m'orienter sur le script ?

Bref, j'avais un doute sur la manière de concaténer des chaînes avec Linux.
J'ai donc modifié la syntaxe construisant chemin_backup:

Code:
dateActuelle=$(date +%d%m%Y)
$debut='/home/backupsql1/fichier_dump_'
$fin='.sql'
chemin_backup1=$debut$dateActuelle$fin

En attendant vos critiques, merci d'avance
 
WRInaute accro
Bonjour, backup-manager également pour moi, avec un sftp vers un serveur backup, j'ai rien trouvé de mieux.

La solution rsync m'intéresse. Est-ce qu'elle permet de télécharger automatiquement depuis un serveur un fichier chaque matin à heure déterminée, depuis windows ?
 
Nouveau WRInaute
Bonjour milkiway,
backup-manager a définitivement la cote ici.

En ce qui concerne ta question sur windows,
je ne pourrais te répondre car j'en ai pas les compétences, je débute à peine ... mais je pense que tu t'adressais plus à spout ^^

Sinon le script que j'ai proposé te semble correct ou pas (avec la correction ci-dessus) ?

Merci d'avance...
 
WRInaute accro
SI tu le teste et que ça marche, quel est le problème ? Mais bon, autant prendre un outil connu et fiable pour quelque chose d'aussi important.

Sinon je vois 2- mise à jour régulière de la Release OVH 2 // normalement OK
Rassure moi, tu ne fais pas le patch all automatiquement ?
 
WRInaute accro
milkiway a dit:
La solution rsync m'intéresse. Est-ce qu'elle permet de télécharger automatiquement depuis un serveur un fichier chaque matin à heure déterminée, depuis windows ?
Oui il y a moyen, avec un fichier batch et le planificateur de tâches Windows.

Cependant, je n'ai encore jamais réussi à me logguer avec les clef privées/publiques SSH sous Windows (pas encore assez chippoté), donc pr le moment mon backup est un fichier batch que j'exécute "à la main" et je dois entrer le mot de passe à chaque fois :?
 
Nouveau WRInaute
Re-bonjour milkiway,

en ce qui concerne la release, je comptais effectivement appliquer automatiquement toutes les releases avec patch-all.sh

J'ai vu qu'en voulant mettre à jour soi-même les différentes versions de php, mysql... on "cassait" la release.
Et vu que je ne suis pas trop un expert et compte dans un premier temps me contenter de la release2, ça me laisse perplexe.

Après pour le Kernel, je compte utiliser le Netboot qui devrait mettre à jour automatiquement le noyau par la nouvelle version (selon OVH) et mettre à jour moi-même régulièrement le noyau présent sur le disque dur (en suivant les guides ovh + forums)

Quel est le problème ? OVH ne fournit pas régulièrement des nouveaux patchs à jour ?
 
WRInaute accro
Le problème est que si ça se passe mal, le patch explose ton serveur pendant que toi tu dors tranquillement.
Il faut le faire à la main et voir ce qui se passe.
Quand à la R2, elle n'a de sens que si tu ne la modifies pas. Pour ma part c'est exactement ce qu'il me faut.
Pour tous les autres cas, il y a Boris ;)
 
Nouveau WRInaute
Re, merci du conseil

Cependant quand tu dis "le faire à la main", cela veut-il dire release par release ou autre chose ?

Désolé, mais comme déjà dit je débute...
 
Discussions similaires
Haut