[Synology] Installer un backup automatisé de ses données hébergées, vers son NAS, en SFTP

Vous trouverez ici quelques contributions sur des sujets variés mais qui n'ont aucun rapport avec le monde de l'aérien
Règles du forum
Courtoisie envers les membres et respect envers les sociétés sont les maitre mots de ces forums. Tout manquement sera sanctionné par un rappel à l'ordre, voir une exclusion temporaire ou définitive des forums !
Avatar de l’utilisateur
FTP
Messages : 1022
Inscription : 06 mars 2004 14h41
Contact :

[Synology] Installer un backup automatisé de ses données hébergées, vers son NAS, en SFTP

Message par FTP »

On ne le répète jamais assez mais les données sont le nerf de la guerre !
Perdre toutes ses données, sans sauvegarde, peut être catastrophique, au point de faire couler des entreprises incapables de s'en relever.

L'exemple de l’incendie du datacenter d'OVH à Strasbourg en mars 2021 ou les multiples attaques par ransomware sont là pour le rappeler.

Problème, avoir des sauvegardes ne suffit pas toujours. Surtout si elles sont réalisées par votre hébergeur !

Car il y a une autre règle d'or : au moins 1 sauvegarde régulière doit être réalisée sur un site distant, géographiquement situé à plusieurs kilomètres du site hébergeant les données maîtres, car seule cette redondance permettra en cas d'incendie, d’inondation, de vol, d'explosion, d'effondrement, de raz-de-marée ou de tremblement de terre de récupérer l'intégralité des données rapidement.

Or confier toutes ses sauvegardes à son hébergeur de production pose problème : 1/ vous continuez de ne disposer d'aucune donnée en local, vous continuez donc à être dangereusement à la merci d'un prestataire qui peut se révéler défaillant, mais surtout 2/ il reste bien trop fréquent que les hébergeurs réalisent les sauvegardes de leurs clients dans le même datacenter que celui des serveurs de production, parfois dans la même salle serveur ! C'était le cas à Strasbourg. Conséquence, quand le datacenter est parti en fumée, les données de production comme les sauvegardes de l'hébergeur sont parties en fumée. C'est comme si les clients n'avaient jamais eu de sauvegarde.
Or certains hébergeurs se gardent bien d'expliquer où sont stockées les sauvegardes de leurs clients, certain n'ont carrément pas d'options de sauvegarde distante et quand ils en ont une, elle est souvent payante.

Du coup, il devient évident que pour tout possesseur de NAS, qui a donc sur son LAN cet espace de stockage en réseau, la mise en place de ses propres backups rapatriant une copie de l'ensemble de ses données hébergées sur son NAS, en local, à intervalle régulier, devient une nécessité. Ne pas le faire serait une faute, au point qu'il ne pourrait s'en prendre qu'à lui même si un jour ses données distantes devaient disparaître à jamais.

C'est donc ce que nous allons voir ici pour les possesseurs de NAS Synology, en prenant l'exemple d'hébergements distant chez OVH et Hostinger. Mais le principe resterait le même quel que soit la marque du NAS et quel que soit l'hébergeur. Seuls les détails de la procédure différeraient légèrement.

Enfin, précisons que cette sauvegarde sera quotidienne. Elle sera réalisée toutes les nuits, mais ne comportera pas de versioning. Son but sera de vous permettre très simplement de conserver en local une copie facilement accessible, récente (de moins de 24h), non cryptée/compressée, de l'ensemble de vos données hébergées, notamment de vos sites web, mais pas de créer une usine à gaz en mettant en place une mécanique complexe de versioning.

Si vous souhaitez aussi pouvoir remonter dans le temps en conservant vos sauvegardes de plusieurs jours, voir semaines, mois ou années, je vous conseillerais dans ce cas de d'abord mettre en place le backup automatisé décrit ici pour ramener vos données sur le NAS et les garder à disposition, facilement accessibles, puis par dessus, de mettre en place un backup incrémental compressé quotidien du dossier partagé de sauvegarde, via l'app Hyper Backup de Synology. Vous pourrez ainsi remonter dans le temps, sans consommer trop d'espace disque, grace à un outil qui gérera cette mécanique complexe au mieux.


Sommaire
1/ Création de la structure d'accueil des données de sauvegarde sur le NAS
2/ Mise en place d'un script à même d'exporter les bases de données dans des fichiers .sql
3/ Paramétrage d'une tâche Cron automatisant l'exécution du script d'export toutes les nuits
4/ Paramétrage de 2 tâches côté NAS rapatriant l'ensemble des fichiers en SFTP
Voilà. Et maintenant qu'on a le programme, c'est parti, on commence...


1/ Création de la structure d'accueil des données de sauvegarde sur le NAS
En effet, faire des sauvegardes c'est bien, mais on ne va quand même pas entasser les données en vrac dans n'importe quel répertoire. Du coup, on va créer une petite structure de dossiers à même de recevoir les fichiers de manière ordonnée. Pour cela...
  • Se connecter à l'admin de son NAS via un navigateur et son adresse IP
  • Saisir son nom d'utilisateur et son mot de passe
  • Panneau de configuration > Dossier partagé > [Créer] > Créer un dossier partagé...
    Image

    - Nom > Backup hébergements (espaces et accents autorisés - avec un "s" si vous avez plusieurs hébergements à sauvegarder)
    - Corbeille > décoché (totalement inutile, va consommer de la place pour rien)
    - [Suivant] > [Suivant] (sauf si vous souhaitez chiffrer le dossier partagé)
    Image

    - Activation de la somme de contrôle des données pour l'intégrité avancées des données > coché (c'est plus sûr)
    - Activer le quota du dossier partagé > décoché (ne pas risquer que vos backups plantent par manque de place, de quota !)
    - [Suivant] > [Suivant] > [Appliquer]
    Image


    Enfin, on va aussi créer des sous-dossiers, pour organiser les données...
  • File Station > Backup hébergements > [Créer] > Créer dossier
    - Créer un sous-dossier par hébergement si vous en avez plusieurs (chacun pouvant contenir plusieurs sites web)
    - Puis créer pour chaque hébergement 2 autres sous-dossiers, 1 pour les bases de données et 1 pour les fichiers...
    Image

Voilà. C'est fait. Votre NAS est maintenant prêt à recevoir les données de backup.
Passons à la préparation des données à sauvegarder côté hébergeur(s).


2/ Mise en place d'un script à même d'exporter les bases de données dans des fichiers .sql
En effet, si les fichiers des espaces d'hébergements peuvent être sauvegardés tel quel, ça n'est pas le cas des bases de données.
Il faut d'abord réaliser un export complet (structure et données) de chaque base dans un fichier .sql, avant de pouvoir sauvegarder ces fichiers.

Pour ce faire, on va donc préparer un script PHP à même de se connecter à chaque base de l'hébergement, de l'exporter en un fichier .sql et de le compresser en un .zip :
  • Se connecter à son espace d'hébergement en utilisant un client FTP comme Filezilla
  • Dans la racine de son espace d'hébergement (généralement /home/repertoireHebergement/), créer 2 sous-répertoires, /scripts/ et /exports_bdd/
    - /home/repertoireHebergement/scripts/ recevra le fichier PHP du script d'export des bases et pourquoi pas, d'autres scripts dans le futur
    - /home/repertoireHebergement/exports_bdd/ recevra les exports des bases en attente de récupération sur le NAS

    :idea: A noter que ces répertoires sont volontairement positionnés en dehors du répertoire web (/www/ ou /public_html/). C'est important pour la sécurité des données car de cette manière les fichiers de script et d'export seront inaccessibles depuis le web, via un navigateur. N'oubliez pas qu'ils contiennent vos mots de passe de connexion à vos bases de données, ainsi qu'à tous les comptes de vos sites web !

    Enfin...
  • Dans le dossier /scripts/, créer un fichier export_bdd.php codé en UTF-8 (Unicode). Ce fichier va contenir le script chargé d'exporter la ou les bases de données de l'hébergement que vous souhaitez sauvegarder. Voici son contenu...

    Code : Tout sélectionner

    <?php
    	/***********************************************************
    	*
    	* Backup des bases de données de l'hébergement Xxxxxxxxxxx
    	*
    	**************
    	*
    	* Paramètres :
    	*
    	* v (verbose) : Par défaut, quand ce paramètre n'est pas présent dans l'URL, le détail de ce qui est réalisé ne s'affiche pas, ne s'affiche que 3 points (...), un par passage de chacune des 3 étapes.
    	*               Mais si on rajoute ce paramètre à l'URL et si sa valeur égale "y" (yes), alors le détail de ce qui est réalisé s'affiche.
    	*               Exemple : .../scripts/export_bdd.php?v=y
    	*
    	***********************************************************/
    
    	$verbose = ($_GET['v'] == "y") ? true : false;
    	$dump_dir = "/home/repertoireHebergement/exports_bdd";
    
    	// Paramètre le fuseau horaire français pour le script.
    	// Inutile avec certains hébergements français comme OVH, mais obligatoire avec les hébergeurs qui utilisent l'heure UTC comme Hostinger
    	date_default_timezone_set("Europe/Paris");
    
    
    	/***********************************************************
    	* Efface les précédents backups s'il y en a dans le répertoire.
    	* Ils devraient normalement être virés après la récupération par le NAS mais on ne sait jamais.
    	***********************************************************/
    	if ($verbose == false) {
    		system("rm " . $dump_dir . "/*.zip");
    		echo ".";
    	} else {
    		echo "---------- Suppression des précédents backups... ----------<br />";
    		system("rm --verbose " . $dump_dir . "/*nomBDD1.zip");
    		echo "<br />";
    		system("rm --verbose " . $dump_dir . "/*nomBDD2.zip");
    		echo "<br /><br />";
    	}
    
    
    	/***********************************************************
    	* Backup de la base de données Xxxxxxxxxxxx
    	***********************************************************/
    	$db_host = "localhost";
    	$db_host_port = "";
    	$db_name = "nomBDD1";
    	$db_user = "identifiantBDD1";
    	$db_pass = "motDePasseBDD1";
    
    	// Horodatage du nom du fichier de backup
    	$file_name = date('Y-m-d-H\hi') . "_db_" . $db_name;
    
    	// Backup
    	if ($verbose == false) {
    		system("mysqldump --host=" . $db_host . " --port=" . $db_host_port . " --user=" . $db_user . " --password=" . $db_pass . " " . $db_name . " > " . $dump_dir . "/" . $file_name . ".sql");
    		system("zip --quiet " . $dump_dir . "/" . $file_name . ".zip " . $dump_dir . "/" . $file_name . ".sql");
    		system("rm " . $dump_dir . "/" . $file_name . ".sql");
    		echo ".";
    	} else {
    		echo "<br />---------- " . date('Y-m-d H\hi') . " - Début du backup de la base " . $db_name . " ----------";
    		system("mysqldump --host=" . $db_host . " --port=" . $db_host_port . " --user=" . $db_user . " --password=" . $db_pass . " " . $db_name . " > " . $dump_dir . "/" . $file_name . ".sql");
    		echo "<br />created: ";
    		system("ls " . $dump_dir . "/" . $file_name . ".sql");
    		echo "<br />";
    
    		// Création d'un fichier compressé à partir du fichier de backup
    		system("zip " . $dump_dir . "/" . $file_name . ".zip " . $dump_dir . "/" . $file_name . ".sql");
    		echo "<br />";
    
    		// Suppression du fichier non compressé
    		system("rm --verbose " . $dump_dir . "/" . $file_name . ".sql");
    		echo "<br />---------- " . date('Y-m-d H\hi') . " - Fin du backup ! ----------<br /><br />";
    	}
    ?>
  • Puis, le personnalisez :
    - Remplacer "Xxxxxxxxxxx" par le nom de l'hébergement et/ou de l'hébergeur
    - Remplacer "repertoireHebergement" par le nom du répertoire racine de votre hébergement, celui juste après "/home/"
    - A noter que dans le script fourni ci-dessus, 1 seule base de données est exportée. Pour en exporter plus, dupliquez le bloc de code suivant :

    Code : Tout sélectionner

    	/***********************************************************
    	* Backup de la base de données Xxxxxxxxxxxx
    	***********************************************************/
    	
    	...
    	
    	}
    - Et pour chaque backup d'1 base de donnée, chaque bloc de code vu ci-dessus, personnaliser son nom ("Xxxxxxxxxx"), ainsi que les 5 variables ci-dessous :
    $db_host : "nomBaseDeDonnees.mysql.db" (chez OVH) ou "localhost" (chez Hostinger)
    $db_host_port : laisser vide
    $db_name : le nom de votre base de donnée
    $db_user : l'identifiant de l'utilisateur MySQL
    $db_pass : le mot de passe de l'utilisateur MySQL

:!: Attention : refaire cette étape autant de fois que vous avez d'hébergements indépendants que vous souhaitez sauvegarder qui possèdent leur propre interface d'admin, leur propre espace FTP, leur propres bases de données et leur propres tâches Cron.


3/ Paramétrage d'une tâche Cron automatisant l'exécution du script d'export toutes les nuits
Car c'est bien beau d'avoir un joli script capable d'exporter les bases et de compresser les fichiers d'export, encore faut-il trouver un système qui le lance automatiquement tous les jours. Pour ça, on va mettre en place une tâche Cron, qui sera en charge d'exécuter automatiquement le script toutes les nuits à heure fixe.
Chez OVH, pour les offres mutualisées
  • Se connecter à son Espace Client OVH via un navigateur
  • Saisir son nom d'utilisateur et son mot de passe
  • Menu Web Cloud > Hébergements > choisir l'hébergement concerné > Plus > Cron > Ajouter une planification
  • Puis personnaliser...
    - Commande à exécuter > scripts/export_bdd.php
    - Langage > PHP 7.4
    - Activation > coché
    - Logs par e-mail > "Contact administrateur" ou "Contact technique"
    - Description > "Sauvegarde des bases de données"
    - [Suivant]
    Image
  • Enfin personnaliser...
    - Heures > Heures fixes > 1h
    :!: Attention, chez OVH on ne peut pas choisir les minutes. La tâche sera exécutée dans l'heure sélectionnée. Si on choisit "1h", elle sera exécutée entre 1h00 et 1h59, mais tous les jours à la même heure. Et il s'agit d'heure locale française, pas UTC. C'est "1h" du matin en France, quel que soit le jour de l'année.
    - Jours > Tous les jours
    - Jours de la semaine > Tous les jours de la semaine
    - Mois > Tous les mois
    - [Suivant] > [Valider]
    Image
Chez Hostinger
  • Se connecter à son hpanel Hostinger via un navigateur
  • Saisir son nom d'utilisateur et son mot de passe
  • Menu Hébergement > choisir n'importe lequel de ses sites > Avancé > Tâches Cron
  • Puis personnaliser...
    - Commande à exécuter > scripts/export_bdd.php
    - Options communes > Une fois par jour (0 0 * * *)
    :idea: Ce paramétrage standard correspond exactement à notre besoin. Il exécutera la tâche automatiquement tous les jours à 0h00 UTC, soit à 1h00 du matin en France en hiver, ou 2h00 en été.
    - [Sauvegarder]
    Image

Voilà. Une fois paramétrée, la tâche s'exécutera automatiquement toutes les nuits, elle lancera le script export_bdd.php qui exportera la ou les bases de données de l'hébergement, compressera les fichiers exportés et se faisant, les rendra prêts pour la sauvegarde, pour leur copie sur le NAS un peu plus tard dans la nuit.

:!: Attention : refaire cette étape autant de fois que vous avez d'hébergements indépendants que vous souhaitez sauvegarder qui possèdent leur propre interface d'admin, leur propre espace FTP, leur propres bases de données et leur propres tâches Cron.


4/ Paramétrage de 2 tâches côté NAS rapatriant l'ensemble des fichiers en SFTP
C'est la dernière étape. Il s'agit cette fois de paramétrer 2 nouvelles tâches, côté NAS, se chargeant après l'heure d'export des bases de données, de réaliser une copie sécurisée en SFTP sur le NAS, dans la structure qu'on a préparé à cet effet au §1 :
  • des bases de données (tâche 1),
  • et des fichiers (tâche 2).
On va utiliser pour cela le "Planificateur de tâches" Synology et l'utilitaire lftp à disposition dans DSM.

:!: Attention, pour pouvoir réaliser les copies en SFTP, vous devez au préalable avoir activé le SFTP chez votre hébergeur !
OVH : Espace Client > Web Cloud > Hébergements > votre hébergement > FTP - SSH > modifier l'utilisateur > Protocoles de connexion > FTP et SFTP
Hostinger : hpanel > Hébergement > votre hébergement > Accès SSH > Gérer l'accès SSH > activer (l'activation du SSH active SFTP)
Si malheureusement vous ne pouvez pas activer SFTP, notamment à cause de votre plan qui ne comprend pas cette fonctionnalité, je donne quand même, plus bas, le code pour faire les backups en FTP. Vous pouvez donc continuer la lecture :wink:


Tâche de sauvegarde des bases de données
Pour ce faire, on va :
  • Se connecter à l'admin de son NAS via un navigateur et son adresse IP
  • Saisir son nom d'utilisateur et son mot de passe
  • Panneau de configuration > Planificateur de tâches > [Créer] > Tâche planifiée > Script défini par l'utilisateur...
    Image
  • Onglet Général
    - Tâche > Backup bases de données
    - Utilisateur > root (c'est important, sinon la tâche ne s'exécutera pas ! Ca n'est pas vous qui allez lancer la tâche au milieu de la nuit mais le NAS, donc le compte "root")
    Image
  • Onglet Programmer
    - Exécuter les jours suivants > Quotidienne
    - Première heure d'exécution > 03 : 00 (attention à ce que ce soit après l'heure d'export des bases de données !)
    - Fréquence > Chaque jour
    Image
  • Onglet Paramètres de tâche
    - Envoyer les détails d'exécution par e-mail > cocher (optionnel)
    - Courrier électronique > saisir votre adresse email (optionnel)
    - Envoyer les détails d'exécution uniquement lorsque le script se termine de manière anormale > cocher (optionnel)
    - Script défini par l'utilisateur > copier le code suivant qu'il faudra personnaliser (cf. ci-dessous)...

    Code : Tout sélectionner

    printf "\nPrécédents backups supprimés...\n"
    find "/volume1/Backup hébergements/Hébergement 1/Bases de données/" -type f -name "*_db_*.zip" -delete -print
    printf "\nRapatriement des nouveaux backups...\n"
    lftp -c 'set sftp:auto-confirm yes ; open sftp://00.00.00.00 -u identifiantFTP,motDePasseFTP -p 22 ; mget -E /home/repertoireHebergement/exports_bdd/*.zip -O "/volume1/Backup hébergements/Hébergement 1/Bases de données" ; quit'
    find "/volume1/Backup hébergements/Hébergement 1/Bases de données/" -type f -name "*_db_*.zip" -print
    printf "\nProcessus de rapatriement terminé !"
    Si vous ne pouvez vraiment pas utiliser SFTP, voici le code en FTP

    Code : Tout sélectionner

    printf "\nPrécédents backups supprimés...\n"
    find "/volume1/Backup hébergements/Hébergement 1/Bases de données/" -type f -name "*_db_*.zip" -delete -print
    printf "\nRapatriement des nouveaux backups...\n"
    wget ftp://identifiantFTP:motDePasseFTP@00.00.00.00/exports_bdd/*.zip -nH -P "/volume1/Backup hébergements/Hébergement 1/Bases de données"
    find "/volume1/Backup hébergements/Hébergement 1/Bases de données/" -type f -name "*_db_*.zip" -print
    printf "\nProcessus de rapatriement terminé !"

    - [OK]
    Image

    Explications : ce script réalise les 3 tâches suivantes :
    - il supprime les précédents backups de base de données côté NAS pour faire place nette (1ère ligne find avec instruction -delete),
    - puis il copie le ou les fichiers de backup de l'hébergeur vers le NAS en SFTP grâce à l'utilitaire lftp (4ème ligne lftp avec la commande mget)
    - enfin, une fois la copie faite, il supprime les backups côté hébergeur (instruction -E de mget).
    - Les lignes printf et les instructions -print servent à documenter ce qui a été fait pour les rapports d'exécution envoyés par email.

    Explication détaillée du code
    printf "\n...\n" : affiche le texte entre guillemets (sera en réalité affiché dans le rapport d'exécution par email), \n pour un retour à la ligne
    find "/volume1/Backup hébergements/Hébergement 1/Bases de données/" -type f -name "*_db_*.zip" -delete -print : fait la liste des fichiers (-type f) dans le répertoire mentionné (on utilise les doubles guillemets quand il y a des espaces dans le nom d'un répertoire), dont le nom match le modèle (-name "*_db_*.zip"), puis les supprime (-delete) et affiche la liste des fichiers supprimés (-print) dans le rapport d'exécution
    lftp -c '...' : lance l'utilitaire lftp et exécute les commandes (-c) entre les 2 simples guillemets
    set sftp:auto-confirm yes ; : configure le paramètre "auto-confirm" à "yes" pour demander à lftp de répondre "yes" à toutes les questions d'SSH, pour une exécution silencieuse
    open sftp://00.00.00.00 -u identifiantFTP,motDePasseFTP -p 22 ; : se connecte au serveur FTP en SFTP, -u = user,pass -p = port
    mget -E /home/repertoireHebergement/exports_bdd/*.zip -O "/volume1/Backup hébergements/Hébergement 1/Bases de données" ; : lance la copie de tous les fichiers mget du répertoire .../exports_bdd/ matchant le modèle *.zip, -O pour spécifier le répertoire de destination (on utilise les doubles guillemets quand il y a des espaces dans le nom d'un répertoire) et -E pour faire supprimer les fichiers sources une fois copiés
    quit : quitte l'utilitaire lftp
    Cf. documentation de lftp

    Personnalisation : vous devez...
    - Adapter le chemin côté NAS : /volume1/Backup hébergements/Hébergement 1/Bases de données
    - Mettre l'adresse de votre serveur FTP : 00.00.00.00 (une adresse IP comme chez Hostinger ou une URL comme chez OVH)
    - Mettre l'identifiant de votre accès FTP : identifiantFTP
    - Mettre le mot de passe de votre accès FTP : motDePasseFTP
    - Mettre le port de votre accès SFTP : 22 ("22" pour OVH, ou "65002" pour Hostinger par exemple)

Tâche de sauvegarde miroir des fichiers
Pour ce faire, on va ici aussi créer une tâche dédiée :
  • Panneau de configuration > Planificateur de tâches > [Créer] > Tâche planifiée > Script défini par l'utilisateur...
    Image
  • Onglet Général
    - Tâche > Backup fichiers
    - Utilisateur > root (c'est important, sinon la tâche ne s'exécutera pas ! Ca n'est pas vous qui allez lancer la tâche au milieu de la nuit mais le NAS, donc le compte "root")
    Image
  • Onglet Programmer
    - Exécuter les jours suivants > Quotidienne
    - Première heure d'exécution > 04 : 00 (on la positionne 1h après le rapatriement des bases de données)
    - Fréquence > Chaque jour
    Image
  • Onglet Paramètres de tâche
    - Envoyer les détails d'exécution par e-mail > cocher (optionnel)
    - Courrier électronique > saisir votre adresse email (optionnel)
    - Envoyer les détails d'exécution uniquement lorsque le script se termine de manière anormale > cocher (optionnel)
    - Script défini par l'utilisateur > copier le code suivant qu'il faudra personnaliser (cf. ci-dessous)...

    Code : Tout sélectionner

    lftp -c 'set sftp:auto-confirm yes ; open sftp://00.00.00.00 -u identifiantFTP,motDePasseFTP -p 22 ; mirror -e /home/repertoireHebergement "/volume1/Backup hébergements/Hébergement 1/Fichiers" ; quit'
    Si vous ne pouvez vraiment pas utiliser SFTP, voici le code en FTP

    Code : Tout sélectionner

    wget -m ftp://identifiantFTP:motDePasseFTP@00.00.00.00/* -nH -P "/volume1/Backup hébergements/Hébergement 1/Fichiers"

    - [OK]
    Image

    Explication : ce script réalise une copie miroir des fichiers de l'hébergement, sur le NAS (commande mirror -e). C'est à dire qu'il ne va pas juste copier tout ce qui se trouve sur l'hébergement, sur le NAS, sinon ça ferait trop de données à copier et par ailleurs les anciens fichiers présents sur le NAS et supprimés sur l'hébergement resteraient présents sur le NAS. Il va copier uniquement ce qui est nouveau ou mis à jour et supprimer ce qui n'existe plus, pour se retrouver au final avec une sauvegarde côté NAS strictement identique à ce qui est présent côté hébergement.

    Explication détaillée du code
    lftp -c '...' : lance l'utilitaire lftp et exécute les commandes (-c) entre les 2 simples guillemets
    set sftp:auto-confirm yes ; : configure le paramètre "auto-confirm" à "yes" pour demander à lftp de répondre "yes" à toutes les questions d'SSH, pour une exécution silencieuse
    open sftp://00.00.00.00 -u identifiantFTP,motDePasseFTP -p 22 ; : se connecte au serveur FTP en SFTP, -u = user,pass -p = port
    mirror -e /home/repertoireHebergement "/volume1/Backup hébergements/Hébergement 1/Fichiers" ; : lance une copie miroir entre les 2 répertoires (on utilise les doubles guillemets quand il y a des espaces dans le nom d'un répertoire), -e pour dire de bien supprimer côté NAS les fichiers qui n'existent plus côté hébergement
    quit : quitte l'utilitaire lftp
    Cf. documentation de lftp

    Personnalisation : vous devez...
    - Adapter le chemin côté NAS : /volume1/Backup hébergements/Hébergement 1/Fichiers
    - Mettre l'adresse de votre serveur FTP : 00.00.00.00 (une adresse IP comme chez Hostinger ou une URL comme chez OVH)
    - Mettre l'identifiant de votre accès FTP : identifiantFTP
    - Mettre le mot de passe de votre accès FTP : motDePasseFTP
    - Mettre le port de votre accès SFTP : 22 ("22" pour OVH, ou "65002" pour Hostinger par exemple)

:!: Attention : refaire cette étape autant de fois que vous avez d'hébergements indépendants que vous souhaitez sauvegarder qui possèdent leur propre interface d'admin, leur propre espace FTP, leur propres bases de données et leur propres tâches Cron.


Et voilà, c'est fait !
Votre backup doit maintenant être entièrement automatisé et se dérouler de manière autonome toutes les nuits :)
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir 24h !
Répondre