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

[rsync] structure repertoires incrémentiel

2 réponses
Avatar
Bruno-L
Hello

Merci d'abord de m'avoir fait découvrir rsync. J'ai mis cela en oeuvre
et ca semble fonctionner.

Il y a un répertoire /share/public que je "rsync" vers /backup avec ce
truc-ci:
rsync --force --ignore-errors --delete --backup --backup-dir=`date
+%Y-%m-%d` /share/ /backup -av

j'obtiens, après quelques jour ce machin-là:
/backup/
|-- 2005-12-06
| |-- 2005-12-05
| | |-- 2005-12-02
| | | `-- public
| | | `-- ...
| | `-- public
| | `-- ...
| `-- public
| `-- ...
`-- public
`-- ...
est-ce normal ? Quel est le but de cette structure ? c'est récursif OK!
mais je ne vois pas l'intéret; ne vaudrait-il pas mieux quelque chose comme:
/backup/
|-- 2005-12-06
| `-- public
| `-- ...
|-- 2005-12-05
| `-- public
| `-- ...
|-- 2005-12-02
| `-- public
| `-- ...
`-- public
`-- ...
c'est plus intuitif, les recherches d'anciens versions seraient plus
simple, non ? et comment faire pour obtenir cette structure ?

merci d'avance.
Bruno

2 réponses

Avatar
Bruno-L
Coucou,


(voir plus bas) Non, personne ? une idée ? ;-)
Je me pose tout de même une question: J'ai (un jour) entendu que les nom
Unix de fichier (chemin compris) ne pouvaient épasser 256 carractères.
Quid de ces sous-répertoires incrémentiels crées par rsync ?


Merci
Bruno




Hello

Merci d'abord de m'avoir fait découvrir rsync. J'ai mis cela en oeuvre
et ca semble fonctionner.

Il y a un répertoire /share/public que je "rsync" vers /backup avec ce
truc-ci:
rsync --force --ignore-errors --delete --backup --backup-dir=`date
+%Y-%m-%d` /share/ /backup -av

j'obtiens, après quelques jour ce machin-là:
/backup/
|-- 2005-12-06
| |-- 2005-12-05
| | |-- 2005-12-02
| | | `-- public
| | | `-- ...
| | `-- public
| | `-- ...
| `-- public
| `-- ...
`-- public
`-- ...
est-ce normal ? Quel est le but de cette structure ? c'est récursif OK!
mais je ne vois pas l'intéret; ne vaudrait-il pas mieux quelque chose
comme:
/backup/
|-- 2005-12-06
| `-- public
| `-- ...
|-- 2005-12-05
| `-- public
| `-- ...
|-- 2005-12-02
| `-- public
| `-- ...
`-- public
`-- ...
c'est plus intuitif, les recherches d'anciens versions seraient plus
simple, non ? et comment faire pour obtenir cette structure ?

merci d'avance.
Bruno


Avatar
Pascal Bourguignon
Bruno-L writes:
(voir plus bas)


Non.

Non, personne ? une idée ? ;-)



Je me pose tout de même une question: J'ai (un jour) entendu que les
nom Unix de fichier (chemin compris) ne pouvaient épasser 256
carractères. Quid de ces sous-répertoires incrémentiels crées par
rsync ?


La longueur maximale d'un nom dépend du système de gestion de fichier.
Sur ext2, ext3 etc, la longueur maximale d'un nom de fichier est de
255 _octets_. En caractère, ça peut faire moins.

La longueur maximale d'un chemin dépend du système. La norme posix
1003.1 impose une longueur maximum minimum de 256 octets,
_POSIX_PATH_MAX, mais la plupart des systèmes unix ont une limite plus
grande, par exemple FILENAME_MAX = 4096.

Ceci dit, c'est la longueur d'un chemin tel que passé au noyau.
Comme on peut passer des chemins relatifs, et qu'on peut changer de
répertoire de travail avec chdir, on peut naviguer dans un arbre avec
des chemins absolus plus long.


(
nom=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 63 octets
nom=x$nom$nom # 127 octets
nom=x$nom$nom # 255 octets
r="$(pwd)"
p="$r"
for i in 1 2 3 4 5 6 7 8 9 a b c d e f g ; do
mkdir $nom ; cd $nom ; touch $i ; p=$p/$nom ; done
cd "$r"
echo '' ; echo ${#p}
echo '' ; echo $p
cd $p && echo could change || true
for i in 1 2 3 4 5 6 7 8 9 a b c d e f g ; do
cd $nom ; ls -l $i ; done
cd "$r"
)




--
__Pascal Bourguignon__ http://www.informatimago.com/
R: Parce que ça chamboule bêtement l'ordre naturel de lecture!
Q: Mais pourquoi citer en fin d'article est-il si effroyable?
R: Citer en fin d'article.
Q: Quelle est la chose la plus désagréable sur les groupes de news?
----------> http://www.giromini.org/usenet-fr/repondre.html <-----------