Jump to content

Tuto : sauvegarder VPS(dédier) son serveur par FTP par période définit !


Recommended Posts

Sauvegarde sur serveur FTP distant

 

Prérequis

  • ​Un serveur FTP avec des identifiants les droits d'écriture
  • Un serveur Web contenant votre site et un accés ssh à celui-ci
  • Vos identifiants de connexion à votre BDD pour réaliser un DUMP de celle-ci
  • Environ le double d'espace disponible sur le serveur Web pour crée l'archive
  • Il faut un client FTP sur le serveur de préférence  : ncftp ainsi que tar

Script

 

Il faut crée votre script backup.sh dans le dossier /home/, à l'aide de la commande nano /home/backup.sh en SSH sur votre serveur. Une fois dans la fenêtre d'édition il suffit de copier/coller le code suivant en modifiant les parties en gras par vos propres paramètres.

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

## Configuration

# Répertoire a sauvegarder
REPERTOIRES="REPERTOIRE A SAUVEGARDER ex :/var/www/"

# Parametre FTP
FTP_SERVEUR="IP SERVEUR FTP"
FTP_UTILISATEUR="FTP USER"
FTP_PASSWORD="FTP PASS"
FTP_REPERTOIRE="CHEMIN SUR VOTRE FTP ex :/Volume_1/Backup/"

# Parametre BDD
BDD_USER="USER BDD"

## Parametrage des applications

# backup
REPERTOIRE_BACKUP="/tmp/backup/"
BACKUP="backup.tar.gz"
BACKUP_BDD="backup.sql.gz"

# tar
TAR_OPTIONS="--exclude=$REPERTOIRE_BACKUP --exclude=/dev --exclude=/proc --exclude=/sys"

# date
DATE=$(date +"%Y-%m-%d")

## Creation de la sauvegarde

mkdir -p ${REPERTOIRE_BACKUP}
mkdir -p /var/backup/
mysqldump -u ${BDD_USER} -p'MOT DE PASSE BDD' --all-databases | gzip -9 > ${REPERTOIRE_BACKUP}/${BACKUP_BDD}
tar ${TAR_OPTIONS} -zcvf ${REPERTOIRE_BACKUP}/${BACKUP} $REPERTOIRES

## Envoi de la sauvegarde

ncftp -u"$FTP_UTILISATEUR" -p"$FTP_PASSWORD" $FTP_SERVEUR <<EOF
mkdir $FTP_REPERTOIRE
mkdir $FTP_REPERTOIRE/$DATE
cd $FTP_REPERTOIRE/$DATE
lcd $REPERTOIRE_BACKUP
mput *
quit
EOF

# Suppression fichier backup
rm -rf $REPERTOIRE_BACKUP

Création d'une tache CRON

 

Toujours en SSH, lancer la commande crontab -e et ajouter une ligne de ce type :

 

0 0 * * 2 USER sh /home/backup.sh

 
(explication 0 0 signifie à 00h00 et 2 le deuxième jour de la semaine , root l'utilisateur qui lance le script et ensuite le chemin vers notre script)
 
 
Voila j’espère que ce tuto sera utile à certain d'entre vous. Nous pouvons surement l’améliorer !! Car il reste très basique.
 
 
P.s. : Désolé pour les fautes.

 

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...