Aller au contenu

FreeBSD - Sauvegarder efficacement et durablement votre serveur


Tha SmokKe

Messages recommandés

Bonjour,

Dans ce tutoriel je vais vous accompagner pour faire quotidiennement des sauvegardes de votre serveur ainsi que de votre base de données. Vous allez voir, seule la mise en route prend quelques secondes :P

I. Pré-requis

  • Un fichier texte
  • le fichier crontab de votre serveur

II. Script de sauvegarde

#!/bin/bash

##########################################
# 		Sauvegarde des fichiers serveur
#		@author 	: Tha SmokKe
#		@version	: 1.0
#
#		Diffusé sous licence GNU/Public 
#		funky-emu.net
##########################################

#########################
#	Nettoyage des logs	#
#########################
cd /usr/metin2/

cd ./auth
./clear_logs.sh
cd ../db
./clear_logs.sh
cd ../channel1/core1/
./clear_logs.sh
cd ../core2/
./clear_logs.sh
cd ../core3/
./clear_logs.sh
cd ../core4/
./clear_logs.sh
cd ../core5/
./clear_logs.sh
cd ../../channel2/core1/
./clear_logs.sh
cd ../core2/
./clear_logs.sh
cd ../core3/
./clear_logs.sh
cd ../core4/
./clear_logs.sh
cd ../core5/
./clear_logs.sh
cd ../../channel3/core1/
./clear_logs.sh
cd ../core2/
./clear_logs.sh
cd ../core3/
./clear_logs.sh
cd ../core4/
./clear_logs.sh
cd ../core5/
./clear_logs.sh
cd ../../channel4/core1/
./clear_logs.sh
cd ../core2/
./clear_logs.sh
cd ../core3/
./clear_logs.sh
cd ../core4/
./clear_logs.sh
cd ../core5/
./clear_logs.sh
cd ../../game99
./clear_logs.sh
sleep 1
cd ..


#####################################
#	Compression des données serveur	#
#####################################

cd /usr/
tar cvf metin2-bak.tar.gz metin2
mv  metin2-bak.tar.gz /
rm  metin2-bak.tar.gz


#################################
#	Compression des données SQL	#
#################################

cd /var/db/
tar cvf  mysql-bak.tar.gz mysql
mv  mysql-bak.tar.gz /
rm  mysql-bak.tar.gz
Avant de copier ce code dans votre fichier texte, vérifiez d'abord que le dossier où se situe vos fichiers serveurs est bien /usr/metin2. Si ce n'est pas le cas, modifiez la ligne suivante :
cd /usr/metin2
En remplaçant metin2 par le nom du dossier contenant vos fichiers de serveur. Une fois que tout est bon, enregistrez le code précédemment copié et corrigé dans un fichier que vous nommerez à votre convenance. Je vous conseille tout de même de lui donner un nom assez clair, comme par exemple sauvegarde.sh ou save.sh.

Notez que l'extension .sh est obligatoire pour le fonctionnement du script

Placez ensuite ce script dans votre dossier /usr

III. Implantation dans le crontab

Je vous avais dit que seule l'installation allait nous prendre quelques secondes. Pour ceux qui ne le saurait pas, le fichier crontab va permettre au serveur d’exécuter notre script à un date donnée. Ici, j'ai choisi de faire une sauvegarde toutes les 23heures, mais vous pouvez très bien changer cela comme bon vous semblera. Ouvrez votre fichier crontab et modifié le comme ceci :

#minute	heure	date	mois	jour	utilisateur	commande 
#
#
*	*	23	*	*	root	/usr/sauvegarde.sh
Bien sûr, si vous n'avez pas mis sauvegarde.sh en temps que nom pour votre script, vous devez le changer dans le fichier crontab et le remplacer par celui que vous avez choisi. Une fois cela terminé, appréciez maintenant votre serveur qui se sauvegardera automatiquement. Allez, je vous autorise à prendre un café et à pousser un petit souffle de joie. Vos fichiers de sauvegarde se trouverons à la racine de votre serveur, à savoir /. En espérant que ce tutoriel vous aura été utile et que j'ai correctement expliqué son installation. Merci à Oscar pour m'avoir envoyé la partie permettant de nettoyer les logs avant d'effectuer la sauvegarde des fichiers du serveur.
 
Cordialement,
  • J'adore 2

XIII

Lien vers le commentaire
  • 7 months later...

Hum... Pour la sauvegarde mysql je serais plutôt d'avis de faire un dump. Ça créé des fichier txt bien plus compressible que les fichier du var db.

En plus de ça le dump inclut les traitements dans la mémoire flash qui ne sont pas encore inscrit dans les fichiers du disque dur.

Cela peut causer une corruption de la sauvegarde.

 

Après la sauvegarde je suis aussi d'avis de vider la table LOG qui au fur et à mesure du temps prends une place non négligeable. Ça peut faire péter un câble à MySQL.

 

Enfin avoir une rétention d'un jour pour une base de données c'est peu... 7 jours serait plutôt confortable. Après ça reste mon avis.

4 ans d'expériences en SS2I
Master 1 Administrateur Systèmes & Réseaux
Ex-Administrateur de Lumnia-Online

Lien vers le commentaire

Tout dépend de la taille du serveur :)

Prenons l'exemple d'un gros serveur, il ne peut pas se permettre en cas de crash de remettre les sauvegardes d'il y a une semaine. Les joueurs se sentiraient trop lésés et viendraient a quitter ce dernier.

 

Mais c'est vrai que le dump est une solution intéressante aussi pour la sauvegarde de la base SQL

XIII

Lien vers le commentaire
  • 5 months later...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.