backup syntax
This commit is contained in:
parent
0d76eb0531
commit
cc574d5358
@ -8,22 +8,21 @@ tags: [ "tar", "backups", ".tgz", "tar.gz" ]
|
|||||||
|
|
||||||
Combine many files and directories into a single t-archive file.
|
Combine many files and directories into a single t-archive file.
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
tar cf "$ARCHIVE".tar $DIR
|
tar cf "$ARCHIVE".tar $DIR
|
||||||
```
|
```
|
||||||
You can remember this with the mnemonic '*C*reate *F*ile'.
|
You can remember this with the mnemonic '*C*reate *F*ile'.
|
||||||
|
|
||||||
Unfortunately, this stores the full file path, so making a tar archive of `/etc/nginx/` will store `etc/nginx` (without the leading `/`.
|
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.
|
It's often better to tell tar which path to start from using the `-C` flag.
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
tar cf "$ARCHIVE".tar -C /etc/ nginx
|
tar cf "$ARCHIVE".tar -C /etc/ nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
Check the contents of your archive with:
|
Check the contents of your archive with:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
tar tf "$ARCHIVE".tar
|
tar tf "$ARCHIVE".tar
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -31,7 +30,7 @@ If you want to store 'everything in a directory', then using `*` will not work,
|
|||||||
|
|
||||||
Instead, you can store the target in a variable:
|
Instead, you can store the target in a variable:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
files=$(ls /etc/nginx)
|
files=$(ls /etc/nginx)
|
||||||
tar cf "$ARCHIVE".tar -C /etc/nginx/ $file
|
tar cf "$ARCHIVE".tar -C /etc/nginx/ $file
|
||||||
```
|
```
|
||||||
@ -40,7 +39,9 @@ tar cf "$ARCHIVE".tar -C /etc/nginx/ $file
|
|||||||
|
|
||||||
Extract the tar archive with
|
Extract the tar archive with
|
||||||
|
|
||||||
> tar xf "$ARCHIVE".tar
|
```sh
|
||||||
|
tar xf "$ARCHIVE".tar
|
||||||
|
```
|
||||||
|
|
||||||
You can remember this with the mnemonic 'e*X*tract *F*ile'.
|
You can remember this with the mnemonic 'e*X*tract *F*ile'.
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ You can remember this with the mnemonic 'e*X*tract *F*ile'.
|
|||||||
|
|
||||||
Create a zip-compressed archive with the `z` flag.
|
Create a zip-compressed archive with the `z` flag.
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
tar czf "$ARCHIVE".tgz -C /etc/nginx/ $file
|
tar czf "$ARCHIVE".tgz -C /etc/nginx/ $file
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -60,18 +61,16 @@ You can use any file ending you want, but sane people like to use '.tgz' or '.ta
|
|||||||
|
|
||||||
Make archive:
|
Make archive:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
PASSWORD=my_password
|
7za a -tzip -p "$PASSWORD" -mem=AES256 $ARCHIVE.zip $FILE_1 $FILE_2
|
||||||
```
|
|
||||||
```bash
|
|
||||||
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.
|
Note that people can still see every filename in your archive, and can change those files.
|
||||||
They just can't read the contents.
|
They just can't read the contents.
|
||||||
|
|
||||||
Unzip:
|
Unzip:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
7za x archive.zip
|
7za x archive.zip
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ tags: [ "backups", "synch" ]
|
|||||||
|
|
||||||
Install unison on both machines, and make sure both have the same version of unison, with the same version of the ocaml compiler (the smallest difference will cause problems).
|
Install unison on both machines, and make sure both have the same version of unison, with the same version of the ocaml compiler (the smallest difference will cause problems).
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
unison -version
|
unison -version
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -13,14 +13,14 @@ Create the `~/.unison` directory on both machines.
|
|||||||
|
|
||||||
Make a job called `backup`:
|
Make a job called `backup`:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
JOB=backup
|
JOB=backup
|
||||||
```
|
```
|
||||||
|
|
||||||
Here is an example job, which synchronizes the `~/music` directory with a remote machine which has the same username.
|
Here is an example job, which synchronizes the `~/music` directory with a remote machine which has the same username.
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
echo "
|
echo "
|
||||||
auto = true
|
auto = true
|
||||||
root=$HOME
|
root=$HOME
|
||||||
@ -42,7 +42,7 @@ The last command means it will ignore any file with a name ending in `.flac`.
|
|||||||
The first command means this will run but also confirm which files will be deleted, and which will be transferred, us `batch = true` instead.
|
The first command means this will run but also confirm which files will be deleted, and which will be transferred, us `batch = true` instead.
|
||||||
Or you can deleted that line in the `.prf` file and run it with a flag:
|
Or you can deleted that line in the `.prf` file and run it with a flag:
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
unison -batch *backup*.prf
|
unison -batch *backup*.prf
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user