Lorsque je souhaite exclure des répertoires lors du tarage, j'utilise généralement une syntaxe comme celle-ci:
tar -zcf /backup/backup.tar.gz --exclude="/home/someuser/.ssh" /home/someuser
Comment puis-je modifier cela pour exclure tous les répertoires cachés, par exemple, en plus de .ssh /, je veux également exclure .vnc /, .wine /, etc.
Vous pouvez utiliser --exclude = ". *"
$ tar -czvf test.tgz test/
test/
test/seen
test/.hidden
$ tar --exclude=".*" -czvf test.tgz test/
test/
test/seen
Soyez prudent si vous tarez le répertoire courant, car il sera également exclu par cette correspondance de modèle.
$ cd test
$ tar --exclude=".*" -czvf test.tgz ./
$ tar -czvf test.tgz ./
./
./seen
./.hidden
Ensuite, vous devez utiliser --exclude = '. [^ /] *' Comme décrit ailleurs
$ tar --exclude='.[^/]*' -czvf test.tgz ./
./
./seen