Ich möchte mit 7zip ein .7z-Archiv meiner Website erstellen. Es gibt einige Verzeichnisse, die große Dateien (mehrere Gigabyte) enthalten, die sich nicht zu sichern lohnen, da ich bereits Backups davon habe. Ich könnte angeben, dass nur bestimmte Dateien oder Verzeichnisse gesichert werden sollen, aber ich habe vor, ein Skript zu erstellen, das dies für mich erledigt, und es wäre etwas nervig, das Skript ständig zu aktualisieren, um neue Dateien, Dateitypen und Verzeichnisse einzuschließen. Ich kann beim besten Willen nichts in der Dokumentation darüber finden, Verzeichnisse auszuschließen; nur Dateien. Was ist der einfachste Weg, dies zu tun?
Der Befehl, den ich früher verwendet habe (bevor ich große Dateien vermeiden musste), war einfach
7z a backup.7z *
erfolgt im Arbeitsverzeichnis.
Antwort1
directory
ist ein Dateityp. man 7z
Es ist nicht leicht zu lesen, erwähnt aber -x
:
-x[r[-|0]]]{@listfile|!wildcard} Exclude filenames
Nehmen wir an, wir haben folgenden Verzeichnisbaum:
$ tree
.
├── dir
│ └── file3
├── dir1
│ └── file4
├── file1
└── file2
2 directories, 4 files
und das wollen wir ignorieren dir
und dir1
:
$ 7z a -x'!dir' -x'!dir1' b.7z *
Nachdem Sie das getan haben:
$ 7z l b.7z
(...)
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2018-04-03 22:25:24 ....A 0 0 file1
2018-04-03 22:25:24 ....A 0 0 file2
------------------- ----- ------------ ------------ ------------------------
2018-04-03 22:25:24 0 0 2 files
Antwort2
Für mich ist die Syntax etwas anders.
NOW=`date +%Y-%m-%d-%H-%M-%S`
XX=`cat ~aaaaaazzzzzz/.gnupg2/passphrase-symmetric`
7z a \
-t7z -m0=lzma2 -mx=9 -mfb=64 \
-md=32m -ms=on -mhe=on -p${XX} \
'-xr!~/Documents/temp/' \
'-xr!~/Documents/Sites/' \
'-xr!**/*.zip' '-xr!**/*.bz2' '-xr!**/*.gz' '-xr!**/*.7z' \
'-xr!**/*.pyc' '-xr!**/__pycache__/**' \
'-xr!**/*.gpkg' '-xr!**/*.gramp' '-xr!**/*.ged' \
'-xr!**/*.log' '-xr!*/venv/*' '-xr!*.sqlit*' '-xr!*.bak' '-xr!*.html~' '-xr!*.html~*' \
'-xr!*.vm' '-xr!*.vmdk' '-xr!*.vmem' '-xr!*.vmsd' '-xr!*.vmss' '-xr!*.vmx' '-xr!*.vmxf' \
'-xr!*.mp4' '-xr!*.msf' \
'-xr!*.htm' '-xr!*.html' \
${BACKUP_DIR}/data-encrypted/BackUp-${NOW}.7z \
~/Documents \
~/.ssh \
~/.gnupg2 \
~/.gnupg
Ich verwende Linux / Ubuntu