Automatiser la synchronisation de répertoires sur Mac OS X vers un cloud hébergé avec rsync et crontab

Écrit le 06 décembre 2017  •  Intervention difficile •  30 min •  Aucun commentaire

On a un certain nombre de répertoires sur un ordinateur qu'on veut synchroniser à l'identique dans un cloud, et ce toutes les heures. La command rsync pour la synchronisation, crontab pour automatiser. Drivincloud de chez Phpnet pour le cloud hébergé.

Le script de synchronisation :

#!/bin/sh
#
USER="mon-compte-drivincloud"
DRIVE="drivexxxx"
SERVER="phpnetstorage.eu"
#
RSYNCLOG="$HOME/.../$MONSCRIPT.log"
PASSWORDFILE="$HOME/.../$MONSCRIPT.pwd"
EXCLUDE="$HOME/.../$MONSCRIPT.exclude"
FILESFROM="$HOME/.../$MONSCRIPT.files"
SOURCE="/"
DESTINATION="$USER@$DRIVE.$SERVER::$USER/"
#
echo "============" >> $RSYNCLOG
date >> $RSYNCLOG
/usr/bin/rsync -arzv --password-file=$PASSWORDFILE --stats --delete --delete-excluded --exclude-from=$EXCLUDE --files-from=$FILESFROM $SOURCE $DESTINATION 1>> $RSYNCLOG
date >> $RSYNCLOG
echo "============" >> $RSYNCLOG

Les répertoires des fichiers à synchroniser dans le fichier monscript.files :

/Volumes/Data
/Users/pablo/Documents
/Users/pablo/Musics

Les fichiers à exclure de la sycnhronisation dans le fichier monscript.exclude :

*.DS_Store
*.DocumentRevisions-V100
*.Spotlight-V100
*.Trashes

Le crontab :

34 * * * * /Users/.../.../monscript.sh
00 * 1 * * echo "1er du mois" > /Users/.../.../monscript.log

Et ça marche

Écrire un commentaire

Pour la vérification anti-spam, saisissez la troisième lettre du mot "nuzz" dans le carré rouge ci-dessous :

  puis