Automatiser la synchronisation de répertoires sur Mac OS X vers un cloud hébergé avec rsync et crontab
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