OSyn

Auto hébergement - open-source - Synology pour amateurs/débutants, nomades

Faites des sauvegardes sécurisée par SFTP avec Cobian Backup et votre Synology

08/07/2015 - Aucun commentaire

En ces temps troublés pour la démocratie, transférer ses données par FTP sécurisé peut être utile.
En plus, j'y pense, on a tous compris que cette loi venait officialiser - et légaliser - quelque chose qui se faisait déjà, donc maintenant si, comme moi, vous sécurisez vos échanges, repérer ce nouveau comportement ne sera pas difficile... On l'a dans l'os...
Révisez vos romans ou films de science-fiction, pour arriver à renverser la machine, il va falloir beaucoup de chance ou de flair !

Etape 1

Activer ssh et sftp sur le syno :
- SSH : dans le panneau de contrôle, cherchez Terminal et SNMP (pour DSM5) et cochez le service SSH. Acceptez l'ouverture du port 22 dans le part-feu du syno et ouvrez ce port aussi dans votre routeur.
Par mesure de sécurité, vous avez déjà supprimé le compte appelé admin, vous pouvez aussi changer le port SSH par défaut.
- SFTP : dans le panneau de contrôle, allez dans Service de fichiers, onglet FTP et cochez SFTP en bas de page. Ici, vous pouvez aussi changer le port pour le SFTP.
Vous pouvez aussi faire ces deux opérations en une en activant le SFTP.

Etape 2

Cobian Backup

Cobian est un logiciel de sauvegarde automatiques très complet et pratique mais il ne supporte pas le sftp nativement. Il va donc falloir bidouiller un peu.

En fait, ce qu'on va faire, c'est utiliser un autre logiciel qui fait du SFTP et faire en sorte que Cobian utilise la connexion sécurisée créé par ce logiciel pour envoyer les données.
Il faut donc télécharger Bitwise SSH surnommé tunnelier puisque comme pour un vpn, il va créer un tunnel sécurisé.
Alors, pourquoi ne pas utiliser le VPN du syno ?
C'est aussi possible. L'intérêt d'utiliser Bitwise, c'est que le lancement de la connexion sécurisée et de la tâche de sauvegarde seront couplés comme nous le verrons plus loin.
Pour ma part, un FAI pourri me fait passer par du NAT3 et un grand nombre de ports sortants et entrants me sont bloqués, le VPN ne fonctionne plus.

Maintenant, les paramètres vont être comme suit :

Créer une tâche ou clic droit sur une tâche, Editer la tâche, à l'onglet Fichiers, choisissez vos fichiers à sauvegarder dans sources et mettre comme destination ftp, 127.0.0.1, port 21, votre compte et mot de passe ssh et votre chemin de sauvegarde sur le serveur.

A l'onglet Planification, choisissez votre périodicité.

A l'onglet Evénements :
- Evénements avant sauvegarde
choisissez ligne de commande et entrez cette commande (à adapter à vos chemins) :
EXECUTE,"C:\Program Files\Bitvise SSH Client\BvSsh.exe"," -profile=""C:\Program Files\Bitvise SSH Client\profile.bscp"" -hide=main -loginonstartup -autoLogout -exitOnLogout"
ATTENTION : chez moi, la fonction ajouter une ligne de commande rajoute des choses du type "commandline,false" et des guillemets qui empêchent le bon fonctionnement. Faites une fois la manip puis corrigez la tâche en remettant la bonne ligne de commande.
pause de 10 secondes

- Evénements après sauvegarde
pause de 10 secondes
fermer un programme : taper seulement BvSsh (ce qui donne : CLOSE,BvSsh,true. Pour moi ça marche, sinon, ligne de commande : taskkill /IM /F BvSsh.exe)

Un autre avantage d'utiliser Cobian, c'est que vous pouvez crypter vos fichiers en AES soit un par un soit dans une archive zip (avec au choix zip ou 7zip, ce dernier à préférer car open-source).
C'est dans l'onglet Archive.

Etape 3
- dans Bitwise, à l'onglet login, compte et mot de passe idem et à l'onglet Services, cochez FTP-to-SFTP bridge. Testez votre configuration.

Dans l'onglet Options, vous pouvez décocher Open terminal et Open sftp, vous n'en aurez pas besoin pour l'usage décrit ici.


Cette méthode est beaucoup plus lente que le ftp, à réserver pour les fichiers sensibles ou à laisser tourner si vous avez beaucoup de données.

Source SFTP sur Syno
Source Cobian-Bitwise

, , , , ,

Quelques pistes cron pour débutants

24/11/2012 - commentaires


MAJ : Je viens de m'apercevoir que la commande wget -q qui est sensée appeler la page sans la télécharger, la télécharge (et donc encombre le répertoire /root chez moi).
il doit y avoir une commande pour la supprimer une fois téléchargée mais on peut aussi rajouter la commande --output-document=/répertoire de destination/page téléchargée au bout de la commande cron.
Les pages sont ainsi toutes stockées au même endroit et il y a moins de risque pour toutes les supprimer d'un coup).
Ce qui donne :
*    *    *    *    *    root    wget -q http://www.monsite.com/mapage.php --output-document=/répertoire/mapage.php
(n'oubliez pas d'utiliser "tabulation" pour chaque colonne de la commande cron).

Pour rappel, cron permet de lancer des actions à des heures et/ou des jours précis et de manière répétée.
Sur le Syno, vous pouvez y accéder via PuTTY avec la commande vi /etc/crontab
Si vous utilisez le service de cron gratuit chez Hiwit.org, vous retrouvez un formulaire permettant de rentrer les mêmes commandes.

Le cronjob

Une commande cron est constituée de paramètres d'heures et de jours, qui commande l'action, quelle action.
mn   H   jour du mois   Mois   jour de la semaine   propriétaire   action

- Les minutes sont comprises entre 0 et 59,
- les heures, entre 0 et 23,
- le jour dans le mois entre 1 et 31 (si vous mettez tous les 31 de tous les mois, l'action ne sera pas lancée les mois en 30 jours ni en février !),
- le mois, entre 1 et 12
- le jour dans la semaine, de 0 à 6. La semaine commence le dimanche avec 0.
- le propriétaire, root ou un utilisateur autorisé,
- action, ligne de code générant une action.


Au final, ça va ressembler à quelque chose comme ça :
0    10    *    *    *    root    cp -r -p /volume1/web/smpdoc/content /volume1/sauvegardes_web/svgsmpdoc

En création de cron sous vi, utilisez la tabulation pour passer d'une "colonne" à l'autre sinon, le cron ne s'exécutera pas.


Exemples de programmation
0 0 1 1 * va lancer l'action tous les 1er janvier à minuit, soit une fois par an
0 0 * * 0 va lancer l'action tous les dimanches à minuit, soit une fois par semaine
0 0 * * * va lancer l'action tous les jours à minuit

Plus technique :
23 0-16/2 * * * va lancer l'action toutes les 2 heures à la 23e minute, entre minuit et 16 heures.
43 23 1,8 * * va lancer l'action le 1er et le 8 du mois, à chaque fois à 23h43


Exemples de commandes
/volume1/scripts/sauvegarde.sh    suffit pour lancer le script sh (bash) que vous avez créé pour sauvegarder vos sites web distants (commande pour Syno).

wget http://www.monsite.com/mapage.php    télécharge la page php

wget -q http://www.monsite.com/mapage.php    lit la page sans la télécharger. Utile pour lancer un script php distant.
Dans le cas du reminder, par exemple, la page sender.php doit être appelée par cron pour envoyer les mails programmés.

0 8 * * * root /usr/syno/mysql/bin/mysqldump --host=localhost --user=root --password=xxxxx fav > /volume1/sauvegardes_web/mysql/favoris.sql    permet de sauvegarder une BDD du Syno sur le Syno

programmer une sauvegarde de site chez Free sans créer de script sh (pourtant c'est simple, un tuto est indiqué sur ce site !) - attention à changer les données login, mot de passe et dossier de destination.
lftp ftp://votrelogin:motdepasseftp@ftpperso.free.fr -e "mirror -e / /volume1/sauvegardes/dossierdesauvegardedulesite ; quit"    pour sauver les fichiers à l'identique (nécessite d'avoir installé LFPT)

wget http://sql.free.fr/backup.php --post-data="login=votrelogin&password=votremotdepassesql&check=1&all=1" -O /volume1/sauvegardes/SQL/nomdelabase.sql.gz    pour sauver la base de donnée.


Si vous devez lancer une page ou accéder à un répertoire protégé par un mot de passe (via htaccess), vous devez l'indiquer comme suit :
http://login:motdepasse@www.votresite.com

,

Quelques pistes cron pour débutants

25/07/2012 - commentaires


Pour rappel, cron permet de lancer des actions à des heures et/ou des jours précis et de manière répétée.
Sur le Syno, vous pouvez y accéder via PuTTY avec la commande vi /etc/crontab
Si vous utilisez le service de cron gratuit chez Hiwit.org, vous retrouvez un formulaire permettant de rentrer les mêmes commandes.

Le cronjob

Une commande cron est constituée de paramètres d'heures et de jours, qui commande l'action, quelle action.
mn   H   jour du mois   Mois   jour de la semaine   propriétaire   action

- Les minutes sont comprises entre 0 et 59,
- les heures, entre 0 et 23,
- le jour dans le mois entre 1 et 31 (si vous mettez tous les 31 de tous les mois, l'action ne sera pas lancée les mois en 30 jours ni en février !),
- le mois, entre 1 et 12
- le jour dans la semaine, de 0 à 6. La semaine commence le dimanche avec 0.
- le propriétaire, root ou un utilisateur autorisé,
- action, ligne de code générant une action.


Au final, ça va ressembler à quelque chose comme ça :
0    10    *    *    *    root    cp -r -p /volume1/web/smpdoc/content /volume1/sauvegardes_web/svgsmpdoc

En création de cron sous vi, utilisez la tabulation pour passer d'une "colonne" à l'autre sinon, le cron ne s'exécutera pas.


Exemples de programmation
0 0 1 1 * va lancer l'action tous les 1er janvier à minuit, soit une fois par an
0 0 * * 0 va lancer l'action tous les dimanches à minuit, soit une fois par semaine
0 0 * * * va lancer l'action tous les jours à minuit

Plus technique :
23 0-16/2 * * * va lancer l'action toutes les 2 heures à la 23e minute, entre minuit et 16 heures.
43 23 1,8 * * va lancer l'action le 1er et le 8 du mois, à chaque fois à 23h43


Exemples de commandes
/volume1/scripts/sauvegarde.sh    suffit pour lancer le script sh (bash) que vous avez créé pour sauvegarder vos sites web distants (commande pour Syno).

wget http://www.monsite.com/mapage.php    télécharge la page php

wget -q http://www.monsite.com/mapage.php    lit la page sans la télécharger. Utile pour lancer un script php distant.
Dans le cas du reminder, par exemple, la page sender.php doit être appelée par cron pour envoyer les mails programmés.

0 8 * * * root /usr/syno/mysql/bin/mysqldump --host=localhost --user=root --password=xxxxx fav > /volume1/sauvegardes_web/mysql/favoris.sql    permet de sauvegarder une BDD du Syno sur le Syno

programmer une sauvegarde de site chez Free sans créer de script sh (pourtant c'est simple, un tuto est indiqué sur ce site !) - attention à changer les données login, mot de passe et dossier de destination.
lftp ftp://votrelogin:motdepasseftp@ftpperso.free.fr -e "mirror -e / /volume1/sauvegardes/dossierdesauvegardedulesite ; quit"    pour sauver les fichiers à l'identique (nécessite d'avoir installé LFPT)

wget http://sql.free.fr/backup.php --post-data="login=votrelogin&password=votremotdepassesql&check=1&all=1" -O /volume1/sauvegardes/SQL/nomdelabase.sql.gz    pour sauver la base de donnée.


Si vous devez lancer une page ou accéder à un répertoire protégé par un mot de passe (via htaccess), vous devez l'indiquer comme suit :
http://login:motdepasse@www.votresite.com

,

Faire des sauvegardes de ses sites web

23/07/2012 - commentaires


Grâce au fonction LFPT et cron à ajouter au Syno via IPKG, vous allez pouvoir faire des sauvegardes automatiques de vos sites web hébergés sur d'autres serveur que sur votre Syno.
Vous pouvez choisir de sauvegarder aussi les sites que vous hébergez sur le Syno. C'est plus logique de les sauvegarder sur un autre support mais ça peut être sur un disque externe connecté au Syno (tuto en bas de page).

Sauvegarde de sites en dehors du Syno
  
- Tuto de Cobestran pour la mise en place de LFPT
- Tuto de Corbestan pour la mise en place de cron, permet de lancer des scripts ou actions à l'heure qu'on veut (sauvegardes régulières, entre autres)

Astuce mail DSM4

Avec la mise à jour du firmware du Syno, les mails indiqués dans le tuto de Corbestan ne sont plus envoyés, synomail ne marche plus.
En fait, avec le passage à la DSM4, Synology a supprimé le service Synomail. On peut le rétablir en le réinjectant dans le système.
Pour cela, il convient de télécharger l'archive du firmware DSM4-2198 dans laquelle vous allez retrouver le fichier qui correspond à Synomail. Vous trouverez celle qui correspond à votre modèle ici.
Comme je pense que ce fichier est identique à tous les Syno, vous devriez vous épargner de télécharger les 171 Mo du firmware et préférer le fichier synomail lui-même directement (vient du pack pour DS211J) !
Ensuite, le plus simple est d'envoyer le fichier synomail dans un répertoire du Syno puis de le déplacer avec Putty dans le répertoire /usr/syno/bin/.
Méthode :
connectez-vous en root (telnet ou ssh) avec PuTTy et tapez simplement
mv /volume1/votre répertoire/synomail /usr/syno/bin/
tapez Entrée et votre fichier est copié au bon endroit.
Si vous voulez vérifier que ça marche vous pouvez lancer un script préparé grâce aux tutos signalés plus haut avec :
sh /volume1/votre répertoire de scripts/votre script.sh
Entrée
Il ne vous reste plus qu'à allez voir dans votre boîte mail si la sauvegarde s'est bien faite ! Si vous avez beaucoup de données à télécharger, votre mail ne sera envoyé qu'après la sauvegarde faite, évidemment. Vous pouvez donc faire le test avec juste un dossier à sauvegarder et tester le script.

Quand on a plusieurs sites à sauvegarder à des moments différents, c'est tout de même plus confortable de savoir si la sauvegarde s'est bien faite ou non (et quand !).

Sauvegarder ses sites web présents sur le Syno

Fichiers
J'utilise un cronjob assez simple :
0 10 * * * root cp -r -p /volume1/web/smpdoc/content /volume1/sauvegardes_web/svgsmpdoc
Dans cet exemple, tous les jours à 10h, le syno copie le répertoire content de Simpledoc dans mon répertoire de sauvegardes web.
cp pour copier
L'option -r permet de copier de manière récursive et donc seulement ce qui a été mis à jour.
L'option -p conserve les permissions sur les fichiers ainsi que l'horodatage.

SQL
Pour ce qui est de sauvegarder les BDD SQL :
0 8 * * * root /usr/syno/mysql/bin/mysqldump --host=localhost --user=root --password=xxxxx fav > /volume1/sauvegardes_web/mysql/favoris.sql
favoris(.sql) est le nom de votre base de données, ici dans le cadre de l'utilisation de Active PHP Bookmarks.
A faire pour chaque base, peut se faire à des heures différentes.

, , , , ,

Sauvegarder régulièrement ses données

21/07/2012 - commentaires


Il y a tant de risques de perdre ses données !

Cobian Backup permet de faire des sauvegardes automatiques et régulières sur différents types de stockage.
Ce logiciel comporte beaucoup de paramètres mais en même temps est assez simple de prise en main.
Vous pouvez choisir entre plusieurs type de sauvegarde :
- miroir, si vous supprimez un fichier dans la zone source, CB le supprime dans la zone de destination
- complète, tous les fichiers sont remplacés sans distinction,
- différentielle, les fichiers modifiés depuis la dernière sauvegarde complète seront chargés,
- incrémentielle, tous les fichiers modifiés depuis la dernière sauvegarde seront chargés,

Vous pouvez sélectionner des répertoires ou seulement des fichiers, par extension, par poids et exclure sur la même base de tri.
La programmation des sauvegardes se fait par période ou à une heure précise au jour(s) voulu(s).
Vous pouvez programmer plusieurs sauvegardes pour des fichiers/dossiers différents à des moments et avec des règles différentes.
Vous pouvez programmer la cible de sauvegarde soit dans un répertoire du même ordinateur, sur un disque externe, sur votre réseau ou par FTP.
Et vous pouvez recevoir le rapport de sauvegarde par mail.
Pour Windows
Multilingue

Cobian Backup 11

, , ,