Pour des raisons de sécurité, il est important de faire des backups de serveur web et/ou FTP. Il existe plusieurs façons de procéder, mais dans notre cas nous allons nous intéresser à une solution de sauvegarde de ces fichiers avec le protocole FTP afin de faire un backup sur un NAS Synology.
Configuration du dossier de sauvegarde
Nous allons commencer par configurer le dossier qui servira de destination à notre sauvegarde.
- Ouvrez FIle Station et créez un dossier.
- Définissez le nom que vous souhaitez donner au dossier de destination de votre backup, vous pouvez également activer la corbeille et restreindre son accès aux seuls administrateurs pour plus de sécurité.
- Une fois votre dossier partagé crée, dans la fenêtre de permission vous pouvez définir les utilisateurs qui auront accès à ce dossier puis valider par Ok.
- Le dossier partagé que nous venons de créer est maintenant visible dans le File Station.
- Nous allons maintenant devoir retenir le chemin de notre dossier sur notre Synology. Faites un clic droit sur votre dossier partagé et cliquez sur Propriétés.
- Pensez à noter dans un coin chemin de votre dossier qui est renseignement dans la case Emplacement, dans notre exemple le chemin est
/volume1/Backup
Configuration de la tâche de sauvegarde
- Pour planifier notre sauvegarde nous allons depuis le Panneau de configuration ouvrir Planificateur de tâches.
- Une fois le Planificateur de tache ouvert, cliquez sur Créer, Tâche planifiée, Script défini par l’utilisateur.
- Choisissez le nom que vous souhaitez donner à la tâche et laissez root comme utilisateur puis naviguez dans l’onglet Programmer.
- Définissez la fréquence à laquelle vous souhaitez que votre tâche s’exécute. Dans notre cas nous allons définir une tâche qui s’exécutera tous les jours. Une fois terminé passons à l’onglet Paramètre de tâche.
- Nous voilà enfin dans le dernier onglet ou nous allons préparer notre script de backup. Avant de commencer vous pouvez si vous le souhaitez activer les notifications par email, et choisir si vous souhaitez être informés à chaque exécution de la tâche ou uniquement en cas d’anomalie pendant l’exécution.
- Nous allons dans notre script utiliser deux commandes:
- La commande wget pour récupérer les fichiers depuis le serveur FTP vers notre Synology.
- La commande tar pour archiver les fichiers récupérés.
Voici le script en question:
wget -m ftp://<username>:<password>@<ip_serveur>/* -P /volume1/Backup tar -zcvf /volume1/Backup/backup-$(date +%Y-%m-%d-%H-%M-%S).tar.gz /volume1/Backup/<ip_serveur>/
Expliquons ce script:
- Le script ci-dessus permet de télécharger en miroir la structure de fichiers et dossiers présents sur le serveur FTP.
- À chaque utilisation il va comparer les fichiers présents sur le Synology à ceux présents sur le serveur FTP, si de nouveaux fichiers sont présents sur le serveur FTP alors il les téléchargera.
- À chaque exécution le script va créer une archive datée (backup-2018-01-01-00-00.tar.gz par exemple) afin d’avoir l’intégralité des fichiers présents sur le FTP pour chaque date de backup. Une sorte de machine a remonté dans le temps.
Avant que le script soit utilisable vous devez modifier:
- <username> par le nom d’utilisateur de votre serveur FTP
- <password> par le mot de passe de votre serveur FTP
- <ip_serveur> par l’adresse IP de votre serveur FTP
Ce qui devrait donner:
ftp://jonathan:[email protected]/*
N’oubliez par également de remplacer /volume1/Backup
par le chemin du dossier partagé que nous avons crée précédemment.
Une fois les modifications faites vous pouvez cliquer sur OK pour valider la création de la tâche.
- Pour tester votre tâche faites un clic droit sur celle-ci puis cliquez sur Exécuter
- et validez par Oui
Après l’exécution de votre script qui peut durée jusqu’à plusieurs minutes en fonction du volume de données présentes sur votre serveur FTP, vous devriez voir dans votre dossier partagé un dossier avec pour nom l’adresse IP de votre serveur et une archive tar.gz fraîchement créer.
Pour nous cela donne:
Et après plusieurs exécutions votre dossier partagé devrait ressembler à ceci:
Voilà, vous êtes fin prêt pour programmer vos backups vers votre Synology comme un grand.
[/sociallocker]