# Backup ### Avec sshpass (MdP en clair) ```bash $ sudo apt-get install sshpass ``` ```bash \#!/bin/bash sudo sshpass -p "password" rsync -avzO --exclude='@eaDir' -e ssh bruno@192.168.1.7:/var/services/homes/bruno/CloudStation/Drive/Raspberry :/var/services/homes/bruno/CloudStation/Drive/Unix /home/pi/Documents ``` Sauver avec CTRL-O (Return) et quitter avec CTRL-X (Return) ### Par clé ```bash $ ssh-keygen -t rsa -C pi@framboise $ cat ~/.ssh/id_rsa.pub | ssh bruno@192.168.1.7 -p42666 'cat >> .ssh/authorized_keys' ``` ```bash \#!/bin/bash rsync -avzO --exclude='@eaDir' -e ssh bruno@192.168.1.7:/var/services/homes/bruno/CloudStation/Drive/Raspberry :/var/services/homes/bruno/CloudStation/Drive/Unix /home/pi/Documents \# option -O pour éviter l’erreur: \# rsync: failed to set times on "/home/pi/Documents/Unix": Operation not permitted (1) ``` Sauver avec CTRL-O (Return) et quitter avec CTRL-X (Return) Rendre le script exécutable ``` $ sudo chmod +x /home/pi/sync.sh ``` ### Ajouter le script à cron: Créer une crontab pour l'utilisateur pi ```bash pi@framboise:~ $ crontab -u pi -e no crontab for pi - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/ed 2. /bin/nano <---- easiest 3. /usr/bin/vim.tiny Choose 1-3 [2]: 2 crontab: installing new crontab ``` Editer la crontab utilisateur (pi) ```bash $ pi@framboise:~ $ crontab -e ``` Ajouter la ligne `*/5 * * * * /home/pi/Documents/sync.sh >> /home/pi/sync.log 2>&1` Le script sync.sh est exécuté toutes les 5mn. STDOUT est redirigé sur sync.log et STDERR aussi. Redirection du flux de sortie (STDOUT): >/dev/null Rediriger uniquement STDERR: 2>/dev/null Rediriger STDERR là où est redirigé STDOUT: 2>&1 Si les sorties ne sont redirigées, erreur dans /var/syslog ```bash CRON[8380]: (CRON) info (No MTA installed, discarding output) (pas de Mail Transfer Agent, ie Postfix, Mutt…) ``` Lire la crontab utilisateur (pi) ```bash pi@framboise:~ $ crontab -l ```