Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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)

4 réponses

4 5 6 7 8
Avatar
laurent.pertois
Patrick Stadelmann wrote:

Les .plist de launchd, c'est un chemin vers une commande Unix (script,
exécutable binaire, ...) avec un set de paramètre. Le reste, c'est des
champs utilisé pour configurer l'environnement (user, chroot, ...) pour
la commande.



Laisse, Nicolas a décidé d'être totalement réfractaire à launchd partant
du principe qu'un script en pur bash était préférable.

--
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:

Il ne gère pas les ACL, par contre.



C'est embêtant en 10.5...

--
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:

Patrick Stadelmann wrote:

> Les .plist de launchd, c'est un chemin vers une commande Unix (script,
> exécutable binaire, ...) avec un set de paramètre. Le reste, c'est des
> champs utilisé pour configurer l'environnement (user, chroot, ...) pour
> la commande.

Laisse, Nicolas a décidé d'être totalement réfractaire à launchd partant
du principe qu'un script en pur bash était préférable.



Pourtant avec Lingon ça m'a eu l'air très simple à utiliser. Bon après
je fais pas des trucs de très haute volée non plus ;)

--
[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
<1iyorzg.13ahtg6q0gi9sN%,
(Michel Nicolas Alex) wrote:

> > Oui mais non, init.d contient des scripts que tu peux modifier comme des
> > scripts qu'ils sont pour ensuite les mettre dans une crontab plutôt que
> > dans rc.d.
>
> Tu peux faire ça avec launchd aussi.

Ah ?
J'ai pas dû tout comprendre.
On peut lancer un launchd.plist uniquement avec cron, sans passer par
launchd ?



Le payload d'un launchd.plist, c'est une commande, que tu peux appeler
depuis un crontab si tu veux.

> Le problème avec ccc, c'est qu'il
> ne fournit pas une commande pour lancer le backup (ce qui permettrait de
> monter le disque avant), mais une commande pour lancer un démon qui
> s'occupera lui de lancer le backup.

C'est un défaut de CCC que d'utiliser launchd, en somme :)
(oui, je sais, je suis chiant. Mais c'est pour ça qu'on m'aime non ?)



Non, c'est un défaut de ccc d'utiliser launchd comme un remplaçant de
StartupItems et pas comme un remplaçant de cron.

> Indépendamment du mécanisme qui
> lance le démon, tu ne pourras pas facilement exécuter une commande juste
> avant le début du backup. Tu pourras uniquement exécuter une commande
> juste avant de lancer le démon (alors que le backup n'aura peut-être lui
> que dans plusieurs jours).

C'est juste. Mais si le mécanisme qui lance le démon est du bash, tu en
fais ce que tu veux. Par exemple tu le modifies, puis tu lances quand tu
en as besoins, via un cron job, puis tu l'arrêtes.



Le problème, c'est de corréler le "quand tu as besoin" avec "quand le
démon décidera de faire le prochain backup". Encore une fois, ça n'est
pas lié au mécanisme utilisé pour lancer ccc_helper.

Patrick
--
Patrick Stadelmann
4 5 6 7 8