lk/data/backups/archives.md
Malin Freeborn ba8026e0c3
change formatting
input examples are now given as

```bash
input $ARG1
```

While outputs use md's '> ' sign as a quote.
2023-06-17 21:28:20 +02:00

1.7 KiB

title tags
Archives
Documentation
tar
backups

tar

Create

Combine many files and directories into a single t-archive file.

tar cf "$ARCHIVE".tar $DIR

You can remember this with the mnemonic 'Create File'.

Unfortunately, this stores the full file path, so making a tar archive of /etc/nginx/ will store etc/nginx (without the leading /.

It's often better to tell tar which path to start from using the -C flag.

tar cf "$ARCHIVE".tar -C /etc/ nginx

Check the contents of your archive with:

tar tf "$ARCHIVE".tar

If you want to store 'everything in a directory', then using * will not work, because it will target everything in the current directory.

Instead, you can store the target in a variable:

files=$(ls /etc/nginx)
tar cf "$ARCHIVE".tar -C /etc/nginx/ $file

Extract

Extract the tar archive with

tar xf "$ARCHIVE".tar

You can remember this with the mnemonic 'eXtract File'.

Compress

Create a zip-compressed archive with the z flag.

tar czf "$ARCHIVE".tgz -C /etc/nginx/ $file

You can use any file ending you want, but sane people like to use '.tgz' or '.tar.tgz'.

7zip

(also called 'p7zip' or '7z')

Make archive:

PASSWORD=my_password
7za a -tzip -p$PASSWORD -mem=AES256 $ARCHIVE.zip $FILE_1 $FILE_2

Note that people can still see every filename in your archive, and can change those files. They just can't read the contents.

Unzip:

7za x archive.zip

7zip will open anything: zip-files, rar-files, a tin of beans, anything. However, the extracted tgz files will just be tar files, so you will still need to use tar to extract them (see above).