script rsync
Thomas De Contes
d.l.tDeContes at free.fr
Dim 13 Mar 20:15:10 UTC 2022
Le 1 mars 2022 à 20:36, Steve Nadeau a écrit :
> Bonjour Danielle,
(C'est ma mère, j'etais sur son ordinateur pour faire les sauvegardes - pas d'importance.)
>
> sans que ce soit l'absolue bonne réponse, il est probable de vérifier les points suivants:
>
> 1: lorsque des caractères internationaux sont inclus dans les noms de fichiers, il est toujours difficile de prédire les incidences, il existe des options de conversions des caractères dans les noms de fichiers par défaut, mais vaut mieux s'en assurer afin d'obtenir les résultats souhaités.
Dommage que ça ne soit pas encore rodé ce truc là ... enfin tant pis, au boulot !
>
> l'option "--no-iconv" permet d'annuler toutes les conversions de caractères, cela ne veut pas dire que ça va corriger votre situation
Effectivement, le problème est toujours là.
>
> sinon il s'agirait d'ajuster l'option "--iconv" avec des paramètres de conversion désirés.
Par contre j'aurais besoin d'une doc (et peut-être d'explications supplémentaires) pour savoir quels paramètres je dois lui mettre.
>
> à la base, il est toujours préférables d'éviter les caractères internationaux ainsi que les espaces et certains caractères spéciaux dans les noms de fichiers.
Comme cet ordinateur a un usage domestique, ça me parait impossible d'imposer ça à ses usagers (notamment parce qu'il y a beaucoup de fichiers venus de l'extérieur qu'il faudrait avoir la discipline de renommer).
Par contre ça ne me dérange pas si la solution implique que (dans la sauvegarde) les caractères problématiques soient transformés ou supprimés, du moment que c'est reconnu à chaque fois de manière à optimiser la sauvegarde à chaque fois que c'est approprié.
(J'espère juste qu'en cas de collision on peut être averti dans les logs, de manière à y remédier.)
>
> Aussi, il serait bien de connaître le système de fichiers source ainsi que celui de destination.
Source : par défaut sous Ubuntu, je crois bien que c'est ext4.
Destination : par défaut sous Mac OS X, HFS+.
>
> Il serait aussi intéressant de voir la commande utilisée.
rsync -azv --chmod=u+rwX --delete-after --delete-excluded --partial --stats --progress "--exclude-from=$DossierParent/../../donnees/exclusions-rsync-local" "--exclude-from=$DossierParent/../../donnees/exclusions-rsync-distant" ~/ 'pierre:~/'\'"$racineDestination/$nomDossier/"\' || exit "$?"
>
>
> 2: la redirection devrait fonctionner, j'utilise personnellement "2>&1 >fichier.log" afin de récupérer le contenu de la console standard ainsi que de la console d'erreurs. Si le texte résultant du script s'inscrit seulement dans la console d'erreurs, rien ne se retrouvera dans le fichier de log.
C'est bizarre :
- déjà je trouve ça bizarre que "&>" ne marche pas,
- mais ensuite j'ai remplacé "&>" par "2>&1 >", et j'ai cru que ça marchait,
- et maintenant on dirait que ça redirige bien stdout mais pas stderr ...
Maintenant, j'en suis à l'équivalent de :
( commande ) 2>&1 > "fichier.log" &
Est-ce que c'est bien ça qu'il fallait faire ?
>
> Le contenu du fichier script pourrait aider aussi à comprendre.
Je ne crois pas.
Le but à cette étape est seulement de mettre les sorties dans le fichier, et en même temps de ne pas bloquer le script appelant.
Il me semble que le reste ne te ferais que te poser des questions alors que ça n'a rien a voire.
>
>
> 3: avec la commande "hostname" ou dans le fichier "/etc/hostname"
Impeccable, merci beaucoup :-)
As tu une preference entre les 2 pour remplir une variable sh ?
>
>
> Bonne journée!
À toi aussi, merci :-)
>
> Steve
>
>
> Le 2022-03-01 à 13 h 19, Danielle De Contes a écrit :
>> bonjour :-)
>>
>>
>> j'ai 3 pbs avec un script rsync
>>
>>
>> 1)
>> l'option '--delete-after' m'efface tous les fichiers dont le nom contient des caractères non-ascii, aussitôt après les avoir copiés.
>>
>>
>> 2)
>> sh me crée un fichier de log, mais ce fichier reste vide.
>>
>> mon script est de la forme :
>> ( commande ) &> "fichier.log" &
>>
>>
>> 3)
>> comment obtenir le nom de l'ordi, qui apparaît dans le terminal ?
>>
>> sur cet ordi l'invite du terminal est de la forme :
>> <user>@<host>:<current-dir>$
>>
>> ce qui m’intéresse c'est <host>.
--
J'espère que ma manière de répondre ne vous dérange pas trop :
http://marc.herbert.free.fr/mail/#citation
Plus d'informations sur la liste de diffusion ubuntu-fr