Bash: trouver avec de la profondeur et de la -prune pour nourrir cpio
Je suis en train de construire un script de sauvegarde où certains répertoires ne doivent pas être inclus dans l'archive de sauvegarde.
cd /;
find . -maxdepth 2 \
\( -path './sys' -o -path './dev' -o -path './proc' -o -path './media' -o -path './mnt' \) -prune \
-o -print
Ce trouve uniquement les fichiers et répertoires que je veux.
Problème est que cpio
doit être nourri avec l'option suivante afin d'éviter des problèmes avec les autorisations lors de la restauration de fichiers.
find ... -depth ....
Et si j'ajoute le -depth
option, retourné des fichiers et des répertoires à inclure ceux que je veux éviter.
Je ne comprends vraiment pas ces phrases à partir de la trouver manuel:
-prune True; if the file is a directory, do not descend into it. If
-depth is given, false; no effect. Because -delete implies
-depth, you cannot usefully use -prune and -delete together.
- Il y a un opérateur de négation dans
find
que vous pouvez ajouter. Quelque chose commefind … -depth … -not -path
Vous devez vous connecter pour publier un commentaire.
Je cite un passage de ce tutoriel susceptibles d'offrir une meilleure compréhension de
-prune
option defind
.Source