Création de site internet nord

Création de sites internet

banniere.jpg
banniere-chevrerie.jpg

Sauvegarde de sites et de bases de données

Ce script de sauvegarde a été developpé pour un Centos 7, Parallel Plesk 12.5.30 sur plus de 30 espaces web.
Il n'inclut pas la sauvegarde des mails (postfix, roundcube, horde).

Etape 1 : création du script de compactage - espaces web - bases

Adapter le script suivant pour votre serveur
Ce script permet de sauvegarder sur 30 jours flottants.
fichier : scriptDeSauvegarde.sh
			# backup : mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
			# restore : mysql -u root -p[root_password] [database_name] < dumpfilename.sql
			# on ne prend que le %d de la date : le jour pour tous les jours du mois glissant.
	sauvegarde=$(date +%d)
	echo sauvegarde du $sauvegarde - Serveur 4
	dir=/var/www/vhosts/dossier_tempo
	cd $dir
	rm -f *.gz
	rm -f *.sql
	# quand on l'exécute par crontab, s'assurer qu'on est dans le bon répertoire.
	# sauvegarde des bases
	# l'utilisateur a été modifié pour avoir les privilèges nécessaires 
	# connexion à phpmyadmin avec user root, puis onglet privilèges,
	#  la connexion à phpmyadmin peut se faire à partire de Plesk
		# Identifiants MySQL
		MYSQL_USER="utilisateurAvecPrivilèges"
		MYSQL_PASSWORD="motDePasseDelUtilisateurAvecPrivilèges"
		# Commandes MySQL (aucune raison de modifier ceci)
		MYSQL=/usr/bin/mysql
		MYSQLDUMP=/usr/bin/mysqldump
		# Bases de données MySQL à ignorer
		SKIPDATABASES="Database|information_schema|performance_schema|mysql"
		# ---- NE RIEN MODIFIER SOUS CETTE LIGNE ------------------------------------------
		# Création par date d'un nouveau dossier (facultatif), dans ce cas 
		# mkdir -p $dir/$DATE
		# Retrieve a list of all databases
		databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "($SKIPDATABASES)"`
		# Dumb the databases in seperate names and gzip the .sql file
		for db in $databases; do
			echo $db
			$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db  > "$dir/$db.sql"
		done
		tar cfvz $dir/backup_bases_OVH-1a1_$sauvegarde.tar.gz  $dir/*.sql
	# Sauvegardes des hosts
	# dans ce cas la liste des hosts se trouve dans un dossier de configuration, c'est pourquoi le script va supprimer '.conf' du nom
	ls /etc/httpd/conf/plesk.conf.d/vhosts > lhosts
	while read lhosts; do    
			if [ $lhosts = "nomDeDomaineàNePasSauvegarder.conf" ];
				then 
					echo $lhosts  ... skip 
				else
					unHost=${lhosts//.conf/}
					echo $unHost ... tar
					tar czf   $dir/backup_OVH-1a1_$unHost.$sauvegarde.tar.gz  /var/www/vhosts/$unHost/httpdocs
			fi
	done < lhosts
	ls -l
	sh copieVersAutreServeur.sh
	

Etape 2 : copie des fichiers compactés vers un autre serveur

Cetaines offres incluent un serveur de 100go pour les sauvegardes. Par exemple SoYouStart d'OVH, met à disposition un serveur Backup Storage. L'étape suivante sera de créer le script copierVersAutreServeur.sh qui se connectera au serveur de backups et copiera l'ensemble des fichiers compactés (*.gz) grâce à lftp. Il faut bien sûr que lftp soit installé sur votre serveur.
fichier : copieVersAutreServeur.sh
	cd $dir
	lftp -u userServeurBackup,motDePasseServeurBackup nomDuServeurDeBackup <commands
	

Etape 3 : Créer le fichier de commandes lftp

fichier : commands
		set ssl:verify-certificate no
		mput *.gz
	

Etape 4 : ajouter deux tâches planifiées de type CRON

Une tâche cron est une tâche planifiée qu'on peut ajouter dans les panneaux d'administration des sites web, par exemple de ispconfig, cpanel, plesk. Cette tâche s'exécutera à la fréquence demandée (par exemple tous les jours à minuit dans le cas des backups de base de données et d'espace web). Bien sûr avant de planifier une nouvelle tâche cron, vous devez tester vos deux scripts scriptDeSauvegarde.sh et copieVersAutreServeur.sh. NB : copieVersAutreServeur.sh peut être inclus dans scriptDeSauvegarde.sh. ScriptDeSauvegarde.sh doit s'exécuter et terminer avant copieVersAutreServeur.sh

Hope it is helpful, enjoy it !




YperLine SARL - 131 rue de Sommaing - 59213 Vendegies sur Ecaillon - Tél 06 07 08 75 26
Mentions légales - Liens - Presse

Agence web, création de site web, entre Valenciennes et Cambrai dans le Nord - France