OVH Cloud OVH Cloud

Script de sauvegarde avec rsync

74 réponses
Avatar
sebastienmarty
Bonjour tous,

Je souhaiterais que ma sauvegarde se déroule comme suit:

1 - Montage du volume de backup externe
2 - Sauvegarde
3 - Démontage du volume de backup externe

Je pensais pouvoir le faire avec Carbon Copy Cloner, en lui indiquant un
"preflight script", mais il se trouve qu'il vérifie /avant/ si le volume
de destination est disponible. Donc ça ne marche pas.

Du coup je m'oriente vers la ligne de commande, et à force de chercher
un peu partout, j'ai pondu un script de ce genre :

disktool -l | egrep -i "Mountpoint = '', fsType = 'hfs', volName =
'.*BACKUP" | cut -d\' -f2 | xargs -n1 disktool -m
sleep 10
sudo rsync -xrlptgoEv --progress --delete / /Volumes/BACKUP
disktool -l | egrep -i "Mountpoint = '/Volumes/.*BACKUP" | cut -d\' -f2
| xargs -n1 disktool -p


Mes questions:
a/ est-ce qu'on peut faire mieux ou plus simple (les lignes disktool
notamment restent assez absconces pour moi) ?
b/ est-ce qu'il est possible de faire en sorte que rsync ne nécessite
pas sudo, afin de rendre tout ça complètement automatique et transparent
?
c/ quelle est ensuite la meilleure méthode, sous Mac OS X 10.5, pour
programmer le lancement à intervalle régulier ? Cron ?

Merci pour vos lumières !
--
[SbM]
<http://sebastienmarty.free.fr> - <http://tradintosh.free.fr>
<http://sbm.ordinotheque.free.fr> - <http://palmiciel.free.fr>
"If the French were really intelligent, they'd speak English" (W. Sheed)

10 réponses

Avatar
laurent.pertois
Michel Nicolas Alex wrote:

Tien, toi qui est un défenseur de launchd, sais-tu si on peut faire un
job qui se lance sur demande plutôt que automatiquement ?



??? ça s'appelle un script non ?

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Avatar
sebastienmarty
Michel Nicolas Alex wrote:

SbM wrote:

> Michel Nicolas Alex wrote:
>
> > Je parlais de modifier le fichier
> > com.bombich.ccc.scheduledtask.xxx.plist. [...]
>
> Rien compris :(

quand tu utilises CCC pour qu'il exécute automatiquement un backup,
il crée un fichier dans /Library/LaunchDeamon

Ce fichier contient les instructions pour lancer CCC.



Ben pas vraiment, ou alors je ne sais pas regarder.

Je ne sais pas comment faire ça, mais ça me semble possible et
intéressant.



Moi non plus, et le .plist ne m'informe guère plus, il contient juste
les informations pour la sauvegarde enregistrée.

--
[SbM]
<http://sebastienmarty.free.fr> - <http://tradintosh.free.fr>
<http://sbm.ordinotheque.free.fr> - <http://palmiciel.free.fr>
"If the French were really intelligent, they'd speak English" (W. Sheed)
Avatar
Nicolas-Michel_REMOVE
Laurent Pertois wrote:

Michel Nicolas Alex wrote:

> Tien, toi qui est un défenseur de launchd, sais-tu si on peut faire un
> job qui se lance sur demande plutôt que automatiquement ?

??? ça s'appelle un script non ?



J'ai vraiment l'impression de parler chinois, personne ne comprends ce
que j'écris.

CCC crée un fichier launchd.plist.
Ce fichier est apte à piloter CCC.

Peut-on l'utiliser manuellement, comme on fait ça sur n'importe quel
linux avec un "/etc/init.d/script start" ?

Sinon, on peut peut-être faire un script qui
fait le mount
puis qui active CCC avec un "launchctl load -w ... "
puis qui laisse tourner le backup
puis qui désactive CCC avec un "launchctl unload -w ..."
et qui pour finir fait le unmount.

Bon, à la base c'était pour faire plus simple mais là, s'il faut
utiliser launchctl, ça devient hyper complexe :->


Si tu sais comment écrire un bash qui pilote CCC, ce serait aussi une
possibilité, mais à prioris CCC se pilote avec un job launchd, lequel
étant à vous entendre tellement vachement mieux que j'ai ôsé espéré
qu'il fasse ce qu'un unix system V fait depuis foutrement longtemps.

--
Nicolas Michel
Avatar
Nicolas-Michel_REMOVE
SbM wrote:

Michel Nicolas Alex wrote:

> SbM wrote:
>
> > Michel Nicolas Alex wrote:
> >
> > > Je parlais de modifier le fichier
> > > com.bombich.ccc.scheduledtask.xxx.plist. [...]
> >
> > Rien compris :(
>
> quand tu utilises CCC pour qu'il exécute automatiquement un backup,
> il crée un fichier dans /Library/LaunchDeamon
>
> Ce fichier contient les instructions pour lancer CCC.

Ben pas vraiment, ou alors je ne sais pas regarder.

> Je ne sais pas comment faire ça, mais ça me semble possible et
> intéressant.

Moi non plus, et le .plist ne m'informe guère plus, il contient juste
les informations pour la sauvegarde enregistrée.



Je crois qu'on vient de démontrer que launchd c'est de la merde ;->

--
Nicolas Michel
Avatar
laurent.pertois
Michel Nicolas Alex wrote:

Laurent Pertois wrote:

> Michel Nicolas Alex wrote:
>
> > Tien, toi qui est un défenseur de launchd, sais-tu si on peut faire un
> > job qui se lance sur demande plutôt que automatiquement ?
>
> ??? ça s'appelle un script non ?

J'ai vraiment l'impression de parler chinois, personne ne comprends ce
que j'écris.



Ben, en même temps, tu ne simplifies pas vraiment...

CCC crée un fichier launchd.plist.
Ce fichier est apte à piloter CCC.



Oh il doit lancer un truc mais il m'étonnerait qu'il pilote tout. De
plus, de mémoire CCC utilise des commandes de l'OS (ou certaines
embarquées). Il faudrait regarder la gueule du plist. Cependant, n'ayant
absolument pas besoin de CCC, je ne vais pas l'installer juste pour ça,
il faudra me dire où trouver ce genre de trucs.

Peut-on l'utiliser manuellement, comme on fait ça sur n'importe quel
linux avec un "/etc/init.d/script start" ?



Vraiment n'importe quel Linux ?

Sinon, on peut peut-être faire un script qui
fait le mount
puis qui active CCC avec un "launchctl load -w ... "
puis qui laisse tourner le backup
puis qui désactive CCC avec un "launchctl unload -w ..."
et qui pour finir fait le unmount.



Tiens, ça faisait longtemps que tu ne t'étais pas fait des noeuds au
cerveau :-)

Bon, à la base c'était pour faire plus simple mais là, s'il faut
utiliser launchctl, ça devient hyper complexe :->



Nan, _tu_ veux trouver ça complexe, nuance.

Si tu sais comment écrire un bash qui pilote CCC, ce serait aussi une
possibilité, mais à prioris CCC se pilote avec un job launchd, lequel
étant à vous entendre tellement vachement mieux que j'ai ôsé espéré
qu'il fasse ce qu'un unix system V fait depuis foutrement longtemps.



Tu as de quoi faire tout ce que fait launchd depuis si longtemps que ça
? eh bé...

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Avatar
laurent.pertois
Michel Nicolas Alex wrote:

Je crois qu'on vient de démontrer que launchd c'est de la merde ;->



Non, on vient de démontrer que CCC c'est de la merde, launchd n'y est
pour rien si le développeur stocke n'importe quoi dans des fichiers. Si
on va par là on va démonter pas mal des trucs que tu défends en prenant
tout à l'envers.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Avatar
sebastienmarty
Laurent Pertois wrote:

Michel Nicolas Alex wrote:

> Laurent Pertois wrote:
>
> > Michel Nicolas Alex wrote:
> >
> > > Tien, toi qui est un défenseur de launchd, sais-tu si on peut faire un
> > > job qui se lance sur demande plutôt que automatiquement ?
> >
> > ??? ça s'appelle un script non ?
>
> J'ai vraiment l'impression de parler chinois, personne ne comprends ce
> que j'écris.

Ben, en même temps, tu ne simplifies pas vraiment...

> CCC crée un fichier launchd.plist.
> Ce fichier est apte à piloter CCC.

Oh il doit lancer un truc mais il m'étonnerait qu'il pilote tout.



Le .plist que j'ai regardé contient à première vue uniquement les
paramètres de la sauvegarde programmée, et le chemin vers la commande
"ccc". Mais c'est tout. Après pour savoir ce que ccc, une fois lancé,
transmet à rsync ou asr...

--
[SbM]
<http://sebastienmarty.free.fr> - <http://tradintosh.free.fr>
<http://sbm.ordinotheque.free.fr> - <http://palmiciel.free.fr>
"If the French were really intelligent, they'd speak English" (W. Sheed)
Avatar
sebastienmarty
Laurent Pertois wrote:

Michel Nicolas Alex wrote:

> Je crois qu'on vient de démontrer que launchd c'est de la merde ;->

Non, on vient de démontrer que CCC c'est de la merde, launchd n'y est
pour rien si le développeur stocke n'importe quoi dans des fichiers. Si
on va par là on va démonter pas mal des trucs que tu défends en prenant
tout à l'envers.



Bon, vous énervez pas, je suis en train de tester Tri-BACKUP, qui a
première vue fait tout ce que je voulais : montage auto, backup, puis
démontage ;). Bon c'est sûr c'est payant, mais bon...

Je teste à fond et je confirme quand je suis sûr...

--
[SbM]
<http://sebastienmarty.free.fr> - <http://tradintosh.free.fr>
<http://sbm.ordinotheque.free.fr> - <http://palmiciel.free.fr>
"If the French were really intelligent, they'd speak English" (W. Sheed)
Avatar
Patrick Stadelmann
In article <1iyl2mr.52ks551dke7brN%,
(SbM) wrote:

Le .plist que j'ai regardé contient à première vue uniquement les
paramètres de la sauvegarde programmée, et le chemin vers la commande
"ccc". Mais c'est tout. Après pour savoir ce que ccc, une fois lancé,
transmet à rsync ou asr...



Et c'est pas possible de remplacer l'appel à ccc par un appel vers un
script perso qui commence par monter le disque, puis appelle ccc comme
launchd l'aurait fait ?

Patrick
--
Patrick Stadelmann
Avatar
sebastienmarty
Patrick Stadelmann wrote:

In article <1iyl2mr.52ks551dke7brN%,
(SbM) wrote:

> Le .plist que j'ai regardé contient à première vue uniquement les
> paramètres de la sauvegarde programmée, et le chemin vers la commande
> "ccc". Mais c'est tout. Après pour savoir ce que ccc, une fois lancé,
> transmet à rsync ou asr...

Et c'est pas possible de remplacer l'appel à ccc par un appel vers un
script perso qui commence par monter le disque, puis appelle ccc comme
launchd l'aurait fait ?



Comment ferais-je pour transmettre les paramètres de la sauvegarde à
ccc, si je peux plus utiliser son .plist ?


--
[SbM]
<http://sebastienmarty.free.fr> - <http://tradintosh.free.fr>
<http://sbm.ordinotheque.free.fr> - <http://palmiciel.free.fr>
"If the French were really intelligent, they'd speak English" (W. Sheed)