rel:: [[Databases MOC]]
rel:: [[Operating Systems MOC]]
# OpenZFS
## Cheatsheet
### Snapshots
#### List all snapshots
```
zfs list -t snapshot
```
#### Creating a snapshot
Snapshot a single dataset.
```
zfs snapshot tank/timemachine/tmleica@test_202208081505
```
#### Snapshot diff
```
zfs diff tank/timemachine/tmleica@test_202208081505
```
#### Creating a recursive snapshot
Recursive same-point-in-time snapshots for all datasets in the `tank` pool.
```
zfs snapshot -r tank@full-system_202209091007
```
#### Accessing a snapshot
```
ls /mnt/tank/timemachine/tmleica/.zfs/snapshot/test_202208081505
cd /mnt/tank/timemachine/tmleica/.zfs/snapshot/test_202208081505
cp /mnt/tank/timemachine/tmleica/.zfs/snapshot/test_202208081505/afile.out /tmp
```
#### Destroying snapshots
```
# verbose, dry run
zfs destroy -nv tank/timemachine/tmleica@test_202208081505
# verbose, dry run, recursive snapshot
zfs destroy -rnv tank@full-system_202209091007
# for real
zfs destroy tank/timemachine/tmleica@test_202208081505
zfs destroy -r tank@full-system_202209091007
```