Sauvegarde un serveur dédié web sur un FTP distant

Dans cet article, je vais vous fournir un script qui permet de faire une sauvegarde de votre serveur sur un ftp distant.

Prérequis

  • Un serveur dédié sous Linux (ubuntu/debian)
  • Un accès FTP sur un serveur distant.

Contexte

Vous souhaitez sauvegarder le dossier de votre site internet sur un FTP Distant.

La plupart des fournisseurs de serveur (Dédibox/OVH/…) donnent accès à un espace FTP quand vous louez un serveur.

Solution

Pour fonctionner le script a besoin du paquet lftp

Le script

#!/bin/sh
#
# @auteur : Romain Drouche
# @web : https://rdr-it.io
#
# prerequis : lftp
#
# Ce script archive et envoie un dossier sur un FTP distant.
# Utile pour sauvegarder vos vos serveurs dedie (debibox/ovh...)
#
cd / 
bkname=$(date +%Y%m%d%H%M)
dirlocal="/var/www/"
echo $bkname
echo "Dossier a sauvegarde:$dirlocal"
echo "Creation de l archive" 
tar zcf $bkname.tar.gz $dirlocal
echo "Archive OK"
echo "Connexion au FTP et transfert" 
lftp ftp://IDENTIFIANT:MOTDEPASSE@SERVEUR-FTP  EOF 
cd /
put $bkname.tar.gz
#dir
bye
EOF
echo "Sauvegarde termine"
rm $bkname.tar.gz
echo "Archive supprimee"

Personnalisation

Il faut maintenant personnaliser deux lignes pour adapter le script à vos besoins.

Dossier à sauvegarder

dirlocal="/var/www/"

Renseigner le chemin du dossier que vous souhaitez sauvegarder.

FTP Distant

lftp ftp://IDENTIFIANT:MOTDEPASSE@SERVEUR-FTP  EOF

Adapter la ligne avec vos informations de connexion.

Mise en place

Il ne reste plus qu’à faire un CRON qui s’exécute.

Améliorations possibles

Quand j’aurais un peu de temps, je vais essayer d’apporter les améliorations suivantes :

  • Sauvegarder avant dans le dossier votre base de données de façon à l’avoir également dans l’archive.
  • Ajouter une notification email.
  • Rotation des sauvegardes sur le serveur FTP en supprimant les anciennes.



Laisser un commentaire