web-dev-qa-db-fra.com

Comment copier automatiquement sur un périphérique amovible?

J'ai des données sur mon disque dur qui doivent être sauvegardées. Disons que tout est dans folder a. Sur une clé USB, il y a une copie de folder a, qui devrait être mise à jour automatiquement chaque fois que la clé est montée. Comment cela peut-il être fait automatiquement?

4
iam4k33m

Créez une règle udev pour le moment où le lecteur est inséré et exécutez votre routine de sauvegarde (rsync ou une autre procédure sur le périphérique).

Ceci est un exemple brut pour vous aider à démarrer.

La règle pour appeler votre script de sauvegarde (/etc/udev/rules.d/10-local.rules):

ACTION=="add", RUN+="/bin/sh -c 'exec /home/userid/backupscript.sh & > /home/userid/Desktop/test.out'"

Remplacez userid ci-dessus par votre ID utilisateur ou placez le script dans un chemin différent.

Le script de sauvegarde:

#!/bin/bash                                                                                       

templine=/tmp/line.$$

backuproutine () {
    # backup rountine goes here                                                                   
    timestamp=$(date)
    message="This is the Backup noice."
    device=$(mount | egrep "sd.1")
    echo -e "$timestamp:$message\n$device" > $templine
    cat $templine >> /home/userid/Desktop/backupnotice.txt
}

backuproutine
rm $templine

Ceci est un script brut, mais quelque chose pour vous aider à démarrer.

Cette commande vous expliquera comment utiliser les règles dev.

man udev
1
L. D. James