GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer Raspberry Pi en tant que serveur de sauvegarde pour les ordinateurs de bureau Linux et Windows

Le Raspberry Pi est une série de petits ordinateurs monocarte. Ils sont plutôt bon marché et conviennent bien à l'exécution d'un serveur de sauvegarde ou d'un serveur voip. En février 2015, le Raspberry Pi 2 est sorti. Il a plus de RAM, un processeur plus récent et dispose de 4 ports USB intégrés.

Le prix actuel du Raspberry Pi 2 est de 35.-$. Cependant, en plus, vous avez besoin de quelques autres choses :

  • Carte microSD :le Raspberry Pi 2 nécessite une carte microSD pour démarrer. Tout devrait faire avec 4 Go ou plus. Pour le serveur de sauvegarde, 4 Go devraient suffire. Vous voudrez peut-être en obtenir un qui se lit rapidement.
  • Chargeur d'alimentation micro USB :vous aurez également besoin d'une alimentation électrique. Il est alimenté par un port micro USB, il est donc très probable que vous ayez chez vous un chargeur provenant d'un ancien téléphone portable dont vous n'avez plus besoin.
  • Stockage USB externe :étant donné que ce guide concerne la configuration d'un serveur de sauvegarde, vous devez également obtenir un stockage USB externe. Peut-être qu'un disque dur externe de 512 Go suffit, peut-être avez-vous besoin d'un lecteur de 4 To. Tout dépend de vos besoins de stockage.
  • Boîtier :la dernière chose est le boîtier. Vous n'avez pas strictement besoin d'un boîtier, mais si vous n'en utilisez pas, vous aurez simplement toute la carte mère quelque part et elle sera plus susceptible d'être endommagée.

Donc le coût total sera d'environ 35.-$ pour le Raspberry Pi, environ 10.-$ pour la carte microSD, environ 10.-$ pour le boîtier, rien pour le chargeur micro usb puisque vous en avez probablement un, et puis quel que soit l'externe frais de clé USB.

De plus, pour récupérer les sauvegardes, j'ai configuré samba et le partage est en mode lecture seule sans aucune information d'identification requise. S'il est correctement configuré selon ce guide, il ne sera disponible que dans le réseau local et refusera toute tentative de connexion depuis l'extérieur du réseau local. Configurer également des utilisateurs samba et différentes informations d'identification dépasserait le cadre de ce guide. Il existe de nombreux autres tutoriels qui l'expliquent et il pourrait être facilement intégré si nécessaire.

Configurer le Raspberry Pi comme serveur de sauvegarde

La configuration du Raspberry Pi en tant que serveur de sauvegarde est la partie "la plus" difficile car vous devez d'abord flasher une image, puis tout préparer. Cependant, le guide étape par étape devrait vous guider.

1. Télécharger l'image raspienne

Téléchargez d'abord l'image Raspian actuelle à partir d'ici https://www.raspberrypi.org/downloads/

2. Flashez l'image sur la carte microSD

Après avoir téléchargé l'image, vous devrez la flasher sur la carte microSD. Puisqu'il existe déjà d'excellents guides pour ce faire, il est inutile de le répéter ici. Suivez le guide ici

3. Premier démarrage/Configuration

Après avoir flashé le Raspberry Pi avec l'image Raspian, connectez-y un écran HDMI et démarrez-le. Au premier démarrage, un écran de configuration vous sera présenté. Cet écran de configuration est assez simple et vous devez définir quelques éléments.

Avis de non-responsabilité :les photos ont été prises avec un téléphone portable, elles ne sont donc pas si belles.

4. Développer le système de fichiers

Tout d'abord, nous voulons disposer de tout l'espace disponible sur la carte SD. Pour les sauvegardes, cela n'a pas vraiment d'importance car elles seront de toute façon stockées sur un disque externe. Cependant, j'aime avoir de l'espace disponible. Sélectionnez donc 1 Développer le système de fichiers, puis vous serez averti par une notification indiquant qu'au prochain redémarrage, le système de fichiers sera développé.

5. Modifier le mot de passe utilisateur

Ensuite, nous voulons modifier le mot de passe par défaut pour l'utilisateur "pi". Sélectionnez donc 2 Changer le mot de passe utilisateur, puis tapez deux fois le mot de passe souhaité, suivi à chaque fois de la touche Entrée. Une fois de plus, vous serez averti par une notification indiquant que le mot de passe a été modifié.

6. Connexion à la console

Ensuite, nous voulons nous assurer que nous ne commençons pas et gui. Sélectionnez donc 3 Enable Boot to Desktop/Scratch. Sur l'écran suivant, sélectionnez Console Texte console, nécessitant une connexion (par défaut).

7. Localisation

Ensuite, nous voulons définir la langue du système et les autres langues disponibles, la disposition du clavier, etc. Pour cela, nous allons dans 4 options d'internationalisation. Lorsque vous y entrez, il vous sera proposé de changer les langues, le fuseau horaire et la langue du clavier. Les dialogues sont tous simples, je n'entrerai donc pas dans les détails.

Avis :Si vous avez sélectionné l'une de ces options, vous vous retrouverez à nouveau sur l'écran de configuration principal.

8. Options avancées

Allez maintenant dans les 8. Options avancées. Là, nous avons un autre tas de choses que nous pouvons définir. Les trois plus importants sont A2 Hostname, A3 Memory Split et A4 SSH.

9. Définir le nom d'hôte

Le nom d'hôte vous permettra d'accéder au Raspberry Pi par son nom d'hôte sur le réseau local. Attention :vous ne pouvez utiliser que des lettres et des chiffres. Dans cet exemple, j'utilise comme nom d'hôte rpi2bu - abréviation de Raspberry Pi 2 Backup mais tout dépend de vous.

10. Fractionnement de la mémoire

Puisque nous voulons exécuter ce Raspberry Pi en tant que serveur de sauvegarde, nous ne voulons pas gaspiller de précieux RAM sur le GPU. N'oubliez pas :il s'agit d'un serveur sans tête. Réglez donc la répartition de la RAM sur 16 Mo.

11. Activer le serveur OpenSSH

Puisque nous ferons nos sauvegardes avec rsync via ssh et que l'accès ssh est bon pour l'administration de la remontée du Raspberry Pi, activez également le serveur OpenSSH dans le menu des options avancées.

11. Terminer et redémarrer

Donc, ce sont toutes les choses à définir à partir de l'écran de configuration et vous pouvez maintenant sélectionner de la configuration principale. Une fois que vous l'avez fait, le Raspberry Pi redémarre et après un certain temps, vous serez invité à entrer vos identifiants de connexion. Actuellement, l'utilisateur est pi et le mot de passe est défini comme vous l'avez défini à l'étape 5. Il vous montrera également l'adresse IP actuelle du Raspberry Pi.

12. Mettre à jour et installer les packages requis

Pour avoir le Raspberry Pi comme serveur de sauvegarde, nous devrons installer deux packages supplémentaires :rsync et samba. Rsync est l'outil qui synchronise les fichiers de votre ordinateur Windows/Linux et samba rendra ensuite les sauvegardes disponibles sur le réseau (en mode lecture seule).

Puisqu'il y a toujours beaucoup de changements et de mises à jour à venir, nous exécutons d'abord :

sudo apt-get update && sudo apt-get upgrade

puis nous installons les packages requis en :

sudo apt-get install rsync samba

Remarque :L'utilisateur par défaut pi peut exécuter des commandes système en tant que root avec la commande sudo. Lorsque vous utilisez la commande sudo, vous êtes à nouveau invité à entrer votre mot de passe de connexion. Ce mot de passe sera également mis en cache pendant un certain temps, donc l'exécution de deux commandes sudo l'une après l'autre ne devrait se déclencher qu'une fois le mot de passe saisi.

13. Continuez avec la connexion SSH à distance ou sur le Raspberry Pi

Les étapes suivantes peuvent être effectuées dans le Raspberry Pi lui-même ou via une connexion ssh. Je préfère les connexions ssh et sous Linux, j'utilise simplement Konsole dans mon KDE. Sous Windows, vous pouvez utiliser Putty ou Kitty

14. Localisez et formatez le lecteur USB externe

Avant de configurer le serveur samba, nous devons monter le lecteur USB externe et créer un utilisateur de sauvegarde. Avant de pouvoir monter le lecteur USB externe, nous devons le formater et savoir qu'il s'agit d'un UUID. Donc, avant de connecter votre clé USB externe, exécutez :

ls -al /dev/disk/by-uuid

et il renverra quelque chose comme ceci :

total 0
drwxr-xr-x 2 root root 100 Mai 19 18:22 .
drwxr-xr-x 6 root root 120 Jan  1  1970 ..
lrwxrwxrwx 1 root root  15 Mai 19 18:22 13d368bf-6dbf-4751-8ba1-88bed06bef77 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root  15 Mai 19 18:22 15CD-3B79 -> ../../mmcblk0p1

Connectez maintenant le lecteur USB externe et exécutez à nouveau la commande. Vous verrez, le résultat est différent et il y a un nouvel appareil là-bas.

total 0
drwxr-xr-x 2 root root 100 Mai 19 18:22 .
drwxr-xr-x 6 root root 120 Jan  1  1970 ..
lrwxrwxrwx 1 root root  15 Mai 19 18:22 13d368bf-6dbf-4751-8ba1-88bed06bef77 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root  15 Mai 19 18:22 15CD-3B79 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root  10 Mai 19 18:22 eac53de3-9f06-4e46-999c-684da279298b -> ../../sda1

Cela nous dit deux choses. Le nouveau périphérique est /dev/sda1 et son uuid est eac53de3-9f06-4e46-999c-684da279298b. Lorsque vous attachez plusieurs disques, le sda1 peut changer. Donc, à des fins de montage plus tard, nous utiliserons simplement son UUID qui ne changera pas tant que les partitions ne seront pas modifiées ou que la partition sera formatée - cependant, nous sommes sur le point de formater la partition sur un système de fichiers approprié.

Avant de pouvoir l'utiliser, nous devrons formater ce disque. Je préfère ext4 mais certaines personnes pourraient préférer btrfs pour ses contrôles d'instantané et d'intégrité. Pour le formater en ext4, exécutez simplement cette commande :

sudo mkfs.ext4 /dev/sda1

Avertissement :Assurez-vous d'utiliser la bonne étiquette d'appareil, sinon vous risquez de détruire des données sur un autre appareil.

Comme indiqué, le formatage entraîne également la modification de l'UUID, vous devez donc émettre à nouveau la commande susmentionnée et prendre note du nouvel UUID.

15. Montez le lecteur USB externe

La prochaine chose est que nous devons le monter. Ici, vous devez décider où vous voulez le monter. J'ai choisi de monter le lecteur dans le répertoire personnel de l'utilisateur de sauvegarde. J'aurais pu le monter en tant que /home aussi si je le voulais. Cependant, si j'ai plusieurs sauvegardes à faire, j'aime les faire sur des disques individuels. Ainsi, un utilisateur =1 lecteur et le lecteur est monté dans le répertoire personnel de l'utilisateur. Sur le Rasperry Pi, vous pouvez connecter directement 4 périphériques USB, il est donc facile de l'étendre à un autre utilisateur si nécessaire. Avant de le monter, j'ajoute l'utilisateur de sauvegarde correspondant - dans ce guide, j'appelle cet utilisateur bu. Pour créer cet utilisateur, exécutez la commande suivante :

sudo adduser bu

Vous serez à nouveau invité deux fois à fournir un mot de passe pour cet utilisateur.

Une fois l'utilisateur ajouté, vous pouvez y monter facilement le disque externe avec la commande suivante :

sudo mount /dev/sda1 /home/bu

Cependant, avant de pouvoir l'utiliser, une dernière étape doit être franchie. Vous devez maintenant également changer la propriété du dossier monté pour l'utilisateur bu :

sudo chown bu:bu /home/bu

Nous avons donc maintenant monté le lecteur USB externe et défini les autorisations correspondantes. Si vous exécutez maintenant la commande suivante, vous verrez que /dev/sda1 est monté sur /home/bu

df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           15G  2.4G   12G  18% /
/dev/root        15G  2.4G   12G  18% /
devtmpfs        484M     0  484M   0% /dev
tmpfs            98M  236K   98M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           195M     0  195M   0% /run/shm
/dev/mmcblk0p1   56M   19M   37M  34% /boot
/dev/sda1       2.7T  260M  2.6T   1% /home/bu

Comme j'ai déjà des données de test sur le lecteur USB externe, cela montre que j'ai déjà utilisé 260 Mo. Sur un nouveau disque, il devrait être égal à zéro.

16. Monter le lecteur USB externe au démarrage

Tout semble trouvé mais après un redémarrage, le lecteur USB externe n'est plus monté. Habituellement, vous ajoutez simplement une entrée à /etc/fstab mais il y a un problème avec le démarrage rapide et la détection USB trop lente. La solution est plutôt simple.

Modifier :/boot/cmdline.txt

et vous verrez qu'il y a une ligne contenant :

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Ajoutez-y simplement rootdelay=10 pour qu'il apparaisse maintenant :

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait rootdelay=10

Modifiez ensuite /etc/fstab

et ajoutez ceci à la fin de ce fichier

UUID=eac53de3-9f06-4e46-999c-684da279298b       /home/bu        ext4    defaults        0       2

Bien sûr, utilisez votre propre UUID au lieu de celui donné dans l'exemple ci-dessus.

Nous nous sommes donc assurés que les lecteurs USB externes se montent dans /home/bu même après un redémarrage. Si vous connectez plus d'un périphérique USB, que je n'ai jamais testé, et que vous remarquez que je ne les ajoute pas tous correctement, alors étendez peut-être rootdealy à plus de 10.

17. Configurer Samba

Ensuite, nous allons configurer samba afin qu'il rende toutes les sauvegardes disponibles sur le réseau. Samba est un démon qui fournit des partages réseau également accessibles via Windows à l'aide du protocole smb.

Modifiez simplement /etc/samba/smb.conf et remplacez le contexte du fichier de configuration par ceci :

[global]

   workgroup = WORKGROUP
   server string = %h server
;   wins support = no
;   wins server = w.x.y.z
   dns proxy = no
;   name resolve order = lmhosts host wins bcast
   name resolve order = bcast lmhosts host wins

    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE

;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

   hosts allow = 127.0.0.1, 10.0.0.0/24
   hosts deny = 0.0.0.0/0

   log file = /var/log/samba/log.%m
   max log size = 1000
#   syslog only = no
   syslog = 0
   panic action = /usr/share/samba/panic-action %d

   security = user
   encrypt passwords = true
   map to guest = bad user
   guest account = bu

#   valid users = root

#======================= Share Definitions =======================

[Backup]
        comment = Backup Share
        path = /home/bu
        read only = yes
        guest only = yes
        guest ok = yes
        hosts allow = 127.0.0.1, 10.0.0.0/24
        force user = bu
        force group = bu
        hosts deny = 0.0.0.0/0

Pour m'assurer que rien ne fuit en dehors du réseau local, j'ai défini dans la section globale pour refuser chaque adresse IP et autoriser uniquement localhost ainsi que le réseau local. J'utilise 10.0.0.x pour mon LAN. Vous utilisez probablement 192.168.0.0, alors modifiez-le en conséquence.

De plus, dans la section globale, vous voyez que le compte invité est l'utilisateur bu et dans le partage réel, vous pouvez voir que les invités ont accès et qu'il s'agit d'un accès en lecture seule.

Enregistrez et quittez le fichier et redémarrez samba :

sudo /etc/init.d/samba restart

Avec cela, nous n'avons pas fini de configurer les services.

18. Fichier de contrôle de sauvegarde sur le Raspberry Pi

Créez et modifiez le fichier /home/bu/backups.sh et remplissez-le avec le contenu suivant :

#!/usr/bin/env bash

basePath="/home/bu"

action="${1}"

function checkMonth ()
{
        now=$(date +"%Y-%m")
        last=$(<checkMonth.txt)
        if [[ ${now} != ${last} ]]
        then
                # New Month
                mkdir -p "${basePath}/current/"
                rm -Rf "${basePath}/current/"*
                echo "${now}" > "checkMonth.txt"
        fi
}



function makeHardlink ()
{
        # Make hardlink copy
        now=$(date +"%Y-%m-%d_%H-%M")
        mkdir -p "${basePath}/old/${now}"
        cp -al "${basePath}/current"* "${basePath}/old/${now}"
}



function checkFree ()
{
        # Check if old files need to be deleted
        freeSpace=$( df -P | grep "${basePath}" | awk '{print $4}' )
        curUse=$( cd "${basePath}/current" | du -s | awk '{print $1}' )
        estUse=$(( curUse * 2 ))

        echo "${freeSpace} - ${curUse} - ${estUse}"

        while [[ ${freeSpace} -le ${estUse} ]]
        do
                echo "Not enough space... removing old backups..."
                IFS= read -r -d $'\0' line < <(find "${basePath}/old" -type d -maxdepth 1 -printf '%[email protected] %p\0' 2>/dev/null | sort -z -n)
                oldDir="${line#* }"
                rm -Rf "${oldDir}"
                freeSpace=$( df -P | grep "${basePath}" | awk '{print $4}' )
                echo "${freeSpace} - ${curUse} - ${estUse}"
        done
}



case ${action} in

        newMonth)
                        checkMonth
                        ;;
        hardLink)
                        makeHardlink
                        checkFree
                        ;;
esac

Ce script a deux objectifs. Il doit être exécuté avant et après chaque sauvegarde.

La fonction checkMonth verra s'il y a un nouveau mois depuis la dernière sauvegarde. Comme vous le savez, le disque dur peut devenir corrompu ou plutôt certaines parties de celui-ci peuvent tomber en panne. Si cela se produit, vous ne pouvez plus accéder aux fichiers de données dans les secteurs corrompus. Cependant, la création d'une sauvegarde complète à chaque fois nécessite beaucoup d'espace disque. Pour économiser de l'espace disque, je relie les sauvegardes en dur, ce qui signifie que je n'écris que les fichiers "index" du système de fichiers à nouveau qui pointent vers les mêmes données. Ainsi, si le secteur de données est corrompu, le fichier ne peut plus être récupéré pour tous les fichiers liés en dur car ils pointent tous vers les mêmes données. Afin de minimiser ce risque, je m'assure que chaque mois, un nouveau jeu de sauvegarde complet est écrit. Cela mangera dans votre espace de stockage. Par exemple. si vous avez 400 Go de données, cela signifie qu'au mois 1, il utilisera 400 Go + fichiers modifiés. Au cours du mois 2, il utilisera 400 Go supplémentaires + fichiers modifiés, etc.

Cela signifie également que la première synchronisation et la première synchronisation d'un nouveau mois prendront beaucoup de temps. Tous les autres sont rapides.

La fonction makeHardlink créera en fait la copie du lien physique de la dernière sauvegarde. Une copie de lien physique ne nécessite presque pas d'espace et sur une sauvegarde, seuls les nouveaux fichiers sont réécrits. Également en combinaison avec la copie du lien physique, j'exécute la fonction checkFree.

La fonction checkFree vérifie l'espace libre de /home/bu. Il vérifie également la taille utilisée par la dernière sauvegarde. Si l'espace libre est inférieur au double de la dernière sauvegarde, il commencera à supprimer les anciennes sauvegardes jusqu'à ce qu'il dispose à nouveau du double de cet espace libre. J'ai tendance à penser que si vous avez déjà 400 Go de données que vous souhaitez sauvegarder, il est peu probable que le jour suivant/la prochaine heure de sauvegarde, vous ayez plus de 800 Go.

Ensemble, cela signifie que vous pouvez utiliser ce mécanisme de sauvegarde "pour toujours". Il supprimera automatiquement les anciennes sauvegardes si l'espace libre devient trop petit.

Après avoir enregistré ce script, rendez-le exécutable et changez la propriété de l'utilisateur bu :

sudo 0755 /home/bu/backups.sh
sudo chown bu:bu /home/bu/backups.sh

C'est tout du côté du Raspberry Pi.

Effectuer des sauvegardes sur le Rasperry Pi à partir de Linux

Pour effectuer des sauvegardes sur le Raspberry Pi, il vous suffit d'ajouter votre utilisateur actuel (ou root si vous le souhaitez) au compte utilisateur de sauvegarde du Raspberry Pi.

Je suppose que vous avez déjà installé un client ssh et que vous disposez d'une clé publique que vous pouvez utiliser. Finalement, vous devez d'abord installer rsync.

19. Créer une clé ssh publique

Si vous n'avez pas encore de clé publique, créez-en une :

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Bien sûr, remplacez-le par votre e-mail ou remplissez n'importe quoi si vous le souhaitez.

20. Copiez la clé ssh publique sur l'utilisateur de sauvegarde Rasperry Pi

Ensuite, vous devez copier votre clé publique sur le compte utilisateur de sauvegarde Raspberry Pi :

ssh-copy-id ~/.ssh/id_rsa.pub [email protected]

Remplacez bu et rpi2bu par votre utilisateur de sauvegarde et votre nom d'hôte réels. Si pour une raison quelconque le Raspberry Pi ne peut pas être détecté par son nom d'hôte, utilisez son adresse IP.

21. Créer un script de sauvegarde sur le bureau

Maintenant que nous pouvons nous connecter au Raspberry Pi sans avoir à fournir de mot de passe, nous avons besoin d'un petit script bash qui effectue la sauvegarde. Créez un backup.sh sur le bureau.

Modifiez ~/Desktop/backup.sh" et ajoutez ceci

#!/usr/bin/env bash

# Check for new month
ssh [email protected] '/home/bu/backups.sh newMonth'
# Run rsync backup
rsync -avzpH  --partial --delete ~/ [email protected]:/home/bu/current/
# Make backup and check regarding free space
ssh [email protected] '/home/bu/backups.sh hardLink'

Rendez-le ensuite exécutable :

chmod 0755 ~/Desktop/backup.sh

Et c'est tout - bien sûr, n'oubliez pas le nom d'hôte défini en fonction du Raspberry Pi et modifiez l'utilisateur si vous utilisez quelque chose de différent.

Effectuer des sauvegardes sur le Rasperry Pi à partir de Windows

Sous Windows, c'est un peu plus difficile car tous ces beaux outils * nix sont manquants. Surtout ssh et rsync. Cependant, la solution simple consiste à installer cygwin avec les packages correspondants.

22. Télécharger Cygwin

Nous devons d'abord télécharger et installer cygwin. Téléchargez-le ici. Vous souhaitez très probablement utiliser la version 64 bits.

23. Installez Cygwin avec les packages requis

Lorsque le téléchargement du programme d'installation de Cygwin est terminé, exécutez-le. Vous serez ensuite invité à effectuer quelques entrées. Donnez votre avis selon la liste ci-dessous :

Choisissez une source de téléchargement -> Installer à partir d'Internet
Sélectionnez le répertoire d'installation racine -> C:\cygwin
Répertoire de packages local -> C:\Users\\Downloads (laisser par défaut)
Sélectionnez votre connexion Internet -> Connexion directe
Choisissez un site de téléchargement -> Sélectionnez un site de téléchargement proche de chez vous

Ensuite, la boîte de dialogue Sélectionner les packages s'affichera. Ici, il est important de sélectionner rsync et openssh. Le mieux est de filtrer la liste avec la zone de recherche. Tapez simplement rsync et vous le trouverez ensuite dans le dossier Net. Cliquez dessus, puis sur Bin ? colonne doit être cochée maintenant. Répétez ceci pour openssh.

Ensuite, il commencera à télécharger tous les packages et à les installer. Comme il téléchargera beaucoup d'outils *nix, cela prendra un peu de temps.

24. Créer une clé ssh publique

Après l'installation de cygwin, y compris rsync et openssh, vous aurez une nouvelle entrée "Cygwin" dans votre menu de démarrage. À l'intérieur de cette entrée, vous trouverez le lien pour le terminal Cygwin. Exécutez ceci et un terminal s'ouvrira. Dans le terminal, nous créons la clé ssh publique en lançant cette commande :

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Bien sûr, remplacez-le par votre e-mail ou remplissez n'importe quoi si vous le souhaitez.

25. Copiez la clé ssh publique sur l'utilisateur de sauvegarde Rasperry Pi

Ensuite, vous devez copier votre clé publique sur le compte utilisateur de sauvegarde Raspberry Pi :

ssh-copy-id ~/.ssh/id_rsa.pub [email protected]

Remplacez bu et rpi2bu par votre utilisateur de sauvegarde et votre nom d'hôte réels. Si pour une raison quelconque le Raspberry Pi ne peut pas être détecté par son nom d'hôte, utilisez son adresse IP.

26. Créer un script de sauvegarde sur le bureau

Ouvrez maintenant votre éditeur de texte et saisissez ce qui suit :

REM Just a little script for making backups

REM Check if it's a new month
c:\cygwin\bin\ssh.exe [email protected] '/home/bu/backups.sh newMonth'
REM Make backup with rsync
c:\cygwin\bin\rsync -avzpH  --partial --delete -e "c:\cygwin\bin\ssh.exe" /cygdrive/c/Users [email protected]:/home/bu/current/
REM Make hardlink copy and clean up space if necessary
c:\cygwin\bin\ssh.exe [email protected] '/home/bu/backups.sh hardLink'

Enregistrez ce fichier sous backup.bat

sur votre bureau (ou tout autre emplacement).

Il est important que l'extension de fichier soit .bat pour que Windows l'exécute.

Si vous avez installé Cygwin dans un autre dossier, indiquez le chemin correspondant (par défaut, il utilisera c:\cygwin64 pour l'installation 64 bits). Modifiez également le nom d'hôte et l'utilisateur de sauvegarde du Raspberry Pi si vous avez utilisé quelque chose de différent.

Lorsque vous cliquez maintenant sur le fichier backup.bat sur votre bureau, il ouvrira un terminal et effectuera la sauvegarde. Vous pouvez également l'exécuter à partir de la commande Windows (cmd.exe) afin qu'il ne se ferme pas automatiquement une fois terminé.

Vérification de vos sauvegardes

Le simple fait de faire des sauvegardes ne représente que la moitié du travail. Vous devrez vérifier que (a) des sauvegardes ont été effectuées et (b) que vous pouvez les utiliser pour restaurer les éléments si nécessaire.

Pour rendre cela simple, nous avons configuré samba plus tôt. S'il est correctement configuré si vous vérifiez l'environnement réseau, vous devriez avoir un ordinateur/serveur nommé rpi2bu dans votre voisinage. Dans Windows, ouvrez simplement l'Explorateur, accédez au réseau et attendez 2 à 3 secondes pour qu'il s'affiche. Sous Linux, par ex. dans Dolphin, il vous suffit de cliquer sur l'icône Réseau dans la barre latérale des emplacements. Vous pouvez ensuite entrer cet ordinateur/serveur sans aucune information d'identification et il vous montrera alors un partage nommé Sauvegarde. Lorsque vous entrez dans ce partage, vous verrez deux dossiers actuels et anciens et deux fichiers backups.sh et checkMonth.txt. Vous pouvez recopier les fichiers sur votre ordinateur, mais comme Samba est configuré en lecture seule, vous ne pouvez pas supprimer les fichiers.

Copiez donc quelques fichiers sur votre ordinateur et vérifiez qu'ils fonctionnent correctement. Si tel est le cas, vous avez réussi à effectuer une sauvegarde.


Linux
  1. Comment configurer le serveur et le client NTP sur Debian 9 Stretch Linux

  2. Comment configurer le serveur SAMBA et transférer des fichiers entre Linux et Windows

  3. Comment installer et configurer cPanel sur un serveur Linux

  4. Comment installer Borgmatic pour des sauvegardes de serveur Linux faciles

  5. Comment configurer SSH sans mot de passe sous Linux

Comment configurer ZSH et Oh-my-zsh sous Linux

Comment sauvegarder et restaurer une carte SD pour Raspberry Pi

Comment configurer le serveur de sauvegarde à l'aide de Rsnapshot sous Linux

Comment installer et configurer le pare-feu CSF pour Linux

Comment configurer le serveur et le client VPN Linux à l'aide d'OpenVPN

Comment installer et configurer le sous-système Windows pour Linux