gcfs.sh 重命名為 bash_functions.sh
檔案名稱與重新命名前相同
gcfs.sh
| @@ -108,6 +108,9 @@ znap () { | |||
| 108 | 108 | zfs list -t snapshot | grep "$1" | |
| 109 | 109 | fi | |
| 110 | 110 | } | |
| 111 | + | zclean-aptsnaps () { | |
| 112 | + | zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {} | |
| 113 | + | } | |
| 111 | 114 | ||
| 112 | 115 | # @NOTE below only useful if managing ZFS file systems | |
| 113 | 116 | zeject-pool () { | |
gcfs.sh
| @@ -80,40 +80,40 @@ gcfs-umount () { | |||
| 80 | 80 | fusermount -u "$GOCRYPTFS_PLAIN" | |
| 81 | 81 | } | |
| 82 | 82 | ||
| 83 | - | # @NOTE below is commented out as it assumes a specific ZFS data set and pool structure | |
| 84 | - | # znap () { | |
| 85 | - | # DATE_OF_ZFS_SNAPSHOT=$(date '+%Y%m%d%H%M%S') | |
| 86 | - | # | |
| 87 | - | # if [ -z "$1" ]; then | |
| 88 | - | # exit 1 | |
| 89 | - | # elif [ "$1" == "essential" ]; then | |
| 90 | - | # sudo zfs snapshot "zroot${HOME}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 91 | - | # sudo zfs snapshot "zroot${HOME}/.config@${DATE_OF_ZFS_SNAPSHOT}" | |
| 92 | - | # sudo zfs snapshot "zroot${HOME}/.var/app@${DATE_OF_ZFS_SNAPSHOT}" | |
| 93 | - | # sudo zfs snapshot "zroot${HOME}/.local/share/flatpak@${DATE_OF_ZFS_SNAPSHOT}" | |
| 94 | - | # sudo zfs snapshot "zroot/var/lib/nfs@${DATE_OF_ZFS_SNAPSHOT}" | |
| 95 | - | # sudo zfs snapshot "zroot/var/lib/NetworkManager@${DATE_OF_ZFS_SNAPSHOT}" | |
| 96 | - | # sudo zfs snapshot "zroot/keystore@${DATE_OF_ZFS_SNAPSHOT}" | |
| 97 | - | # sudo zfs snapshot "zroot/srv@${DATE_OF_ZFS_SNAPSHOT}" | |
| 98 | - | # sudo zfs snapshot "zroot/var/games@${DATE_OF_ZFS_SNAPSHOT}" | |
| 99 | - | # sudo zfs snapshot "zroot/var/mail@${DATE_OF_ZFS_SNAPSHOT}" | |
| 100 | - | # sudo zfs snapshot "zroot/var/www@${DATE_OF_ZFS_SNAPSHOT}" | |
| 101 | - | # sudo zfs snapshot "zroot/usr/local@${DATE_OF_ZFS_SNAPSHOT}" | |
| 102 | - | # sudo zfs snapshot "zroot/var/lib/AccountsService@${DATE_OF_ZFS_SNAPSHOT}" | |
| 103 | - | # sudo zfs snapshot -r "medialib@${DATE_OF_ZFS_SNAPSHOT}" | |
| 104 | - | # zfs list -t snapshot | |
| 105 | - | # # @NOTE: reccommended w option for zfs send | |
| 106 | - | # else | |
| 107 | - | # sudo zfs snapshot "${1}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 108 | - | # zfs list -t snapshot | grep "$1" | |
| 109 | - | # fi | |
| 110 | - | # } | |
| 83 | + | # @NOTE below assumes a specific ZFS data set and pool structure | |
| 84 | + | znap () { | |
| 85 | + | DATE_OF_ZFS_SNAPSHOT=$(date '+%Y%m%d%H%M%S') | |
| 86 | + | ||
| 87 | + | if [ -z "$1" ]; then | |
| 88 | + | exit 1 | |
| 89 | + | elif [ "$1" == "essential" ]; then | |
| 90 | + | sudo zfs snapshot "zroot${HOME}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 91 | + | sudo zfs snapshot "zroot${HOME}/.config@${DATE_OF_ZFS_SNAPSHOT}" | |
| 92 | + | sudo zfs snapshot "zroot${HOME}/.var/app@${DATE_OF_ZFS_SNAPSHOT}" | |
| 93 | + | sudo zfs snapshot "zroot${HOME}/.local/share/flatpak@${DATE_OF_ZFS_SNAPSHOT}" | |
| 94 | + | sudo zfs snapshot "zroot/var/lib/nfs@${DATE_OF_ZFS_SNAPSHOT}" | |
| 95 | + | sudo zfs snapshot "zroot/var/lib/NetworkManager@${DATE_OF_ZFS_SNAPSHOT}" | |
| 96 | + | sudo zfs snapshot "zroot/keystore@${DATE_OF_ZFS_SNAPSHOT}" | |
| 97 | + | sudo zfs snapshot "zroot/srv@${DATE_OF_ZFS_SNAPSHOT}" | |
| 98 | + | sudo zfs snapshot "zroot/var/games@${DATE_OF_ZFS_SNAPSHOT}" | |
| 99 | + | sudo zfs snapshot "zroot/var/mail@${DATE_OF_ZFS_SNAPSHOT}" | |
| 100 | + | sudo zfs snapshot "zroot/var/www@${DATE_OF_ZFS_SNAPSHOT}" | |
| 101 | + | sudo zfs snapshot "zroot/usr/local@${DATE_OF_ZFS_SNAPSHOT}" | |
| 102 | + | sudo zfs snapshot "zroot/var/lib/AccountsService@${DATE_OF_ZFS_SNAPSHOT}" | |
| 103 | + | sudo zfs snapshot -r "medialib@${DATE_OF_ZFS_SNAPSHOT}" | |
| 104 | + | zfs list -t snapshot | |
| 105 | + | # @NOTE: reccommended w option for zfs send | |
| 106 | + | else | |
| 107 | + | sudo zfs snapshot "${1}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 108 | + | zfs list -t snapshot | grep "$1" | |
| 109 | + | fi | |
| 110 | + | } | |
| 111 | 111 | ||
| 112 | 112 | # @NOTE below only useful if managing ZFS file systems | |
| 113 | - | # zeject-pool () { | |
| 114 | - | # if [ -z "$1" ]; then | |
| 115 | - | # exit 1 | |
| 116 | - | # fi | |
| 117 | - | # | |
| 118 | - | # zpool export "$1" | |
| 119 | - | # } | |
| 113 | + | zeject-pool () { | |
| 114 | + | if [ -z "$1" ]; then | |
| 115 | + | exit 1 | |
| 116 | + | fi | |
| 117 | + | ||
| 118 | + | zpool export "$1" | |
| 119 | + | } | |
gcfs.sh
| @@ -80,6 +80,7 @@ gcfs-umount () { | |||
| 80 | 80 | fusermount -u "$GOCRYPTFS_PLAIN" | |
| 81 | 81 | } | |
| 82 | 82 | ||
| 83 | + | # @NOTE below is commented out as it assumes a specific ZFS data set and pool structure | |
| 83 | 84 | # znap () { | |
| 84 | 85 | # DATE_OF_ZFS_SNAPSHOT=$(date '+%Y%m%d%H%M%S') | |
| 85 | 86 | # | |
| @@ -106,4 +107,13 @@ gcfs-umount () { | |||
| 106 | 107 | # sudo zfs snapshot "${1}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 107 | 108 | # zfs list -t snapshot | grep "$1" | |
| 108 | 109 | # fi | |
| 110 | + | # } | |
| 111 | + | ||
| 112 | + | # @NOTE below only useful if managing ZFS file systems | |
| 113 | + | # zeject-pool () { | |
| 114 | + | # if [ -z "$1" ]; then | |
| 115 | + | # exit 1 | |
| 116 | + | # fi | |
| 117 | + | # | |
| 118 | + | # zpool export "$1" | |
| 109 | 119 | # } | |
gcfs.sh
| @@ -78,4 +78,32 @@ gcfs-umount () { | |||
| 78 | 78 | fi | |
| 79 | 79 | ||
| 80 | 80 | fusermount -u "$GOCRYPTFS_PLAIN" | |
| 81 | - | } | |
| 81 | + | } | |
| 82 | + | ||
| 83 | + | # znap () { | |
| 84 | + | # DATE_OF_ZFS_SNAPSHOT=$(date '+%Y%m%d%H%M%S') | |
| 85 | + | # | |
| 86 | + | # if [ -z "$1" ]; then | |
| 87 | + | # exit 1 | |
| 88 | + | # elif [ "$1" == "essential" ]; then | |
| 89 | + | # sudo zfs snapshot "zroot${HOME}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 90 | + | # sudo zfs snapshot "zroot${HOME}/.config@${DATE_OF_ZFS_SNAPSHOT}" | |
| 91 | + | # sudo zfs snapshot "zroot${HOME}/.var/app@${DATE_OF_ZFS_SNAPSHOT}" | |
| 92 | + | # sudo zfs snapshot "zroot${HOME}/.local/share/flatpak@${DATE_OF_ZFS_SNAPSHOT}" | |
| 93 | + | # sudo zfs snapshot "zroot/var/lib/nfs@${DATE_OF_ZFS_SNAPSHOT}" | |
| 94 | + | # sudo zfs snapshot "zroot/var/lib/NetworkManager@${DATE_OF_ZFS_SNAPSHOT}" | |
| 95 | + | # sudo zfs snapshot "zroot/keystore@${DATE_OF_ZFS_SNAPSHOT}" | |
| 96 | + | # sudo zfs snapshot "zroot/srv@${DATE_OF_ZFS_SNAPSHOT}" | |
| 97 | + | # sudo zfs snapshot "zroot/var/games@${DATE_OF_ZFS_SNAPSHOT}" | |
| 98 | + | # sudo zfs snapshot "zroot/var/mail@${DATE_OF_ZFS_SNAPSHOT}" | |
| 99 | + | # sudo zfs snapshot "zroot/var/www@${DATE_OF_ZFS_SNAPSHOT}" | |
| 100 | + | # sudo zfs snapshot "zroot/usr/local@${DATE_OF_ZFS_SNAPSHOT}" | |
| 101 | + | # sudo zfs snapshot "zroot/var/lib/AccountsService@${DATE_OF_ZFS_SNAPSHOT}" | |
| 102 | + | # sudo zfs snapshot -r "medialib@${DATE_OF_ZFS_SNAPSHOT}" | |
| 103 | + | # zfs list -t snapshot | |
| 104 | + | # # @NOTE: reccommended w option for zfs send | |
| 105 | + | # else | |
| 106 | + | # sudo zfs snapshot "${1}@${DATE_OF_ZFS_SNAPSHOT}" | |
| 107 | + | # zfs list -t snapshot | grep "$1" | |
| 108 | + | # fi | |
| 109 | + | # } | |
gcfs.sh
| @@ -5,7 +5,7 @@ source .env | |||
| 5 | 5 | GOCRYPTFS_PASSFILE=${GOCRYPTFS_ROOT_DIR:-~/.keys/gocrypts}/gocryptfs.key | |
| 6 | 6 | GOCRYPTFS_OUTPUT_MOUNT=${GOCRYPTFS_MOUNT_ROOT:-~/.mnt} | |
| 7 | 7 | ||
| 8 | - | overlay-mount () { | |
| 8 | + | gcfs-mount () { | |
| 9 | 9 | if [ "$1" == "data" ]; then | |
| 10 | 10 | GOCRYPTFS_CONFIG="${GOCRYPTFS_ROOT_DIR}/data-cipher/gocryptfs.conf" | |
| 11 | 11 | ||
| @@ -70,7 +70,7 @@ overlay-mount () { | |||
| 70 | 70 | gocryptfs -config "$GOCRYPTFS_CONFIG" -passfile "$GOCRYPTFS_PASSFILE" "$GOCRYPTFS_VAULT" "$GOCRYPTFS_VOLUME" | |
| 71 | 71 | } | |
| 72 | 72 | ||
| 73 | - | overlay-umount () { | |
| 73 | + | gcfs-umount () { | |
| 74 | 74 | if [ -v "$1" ]; then | |
| 75 | 75 | GOCRYPTFS_PLAIN="${GOCRYPTFS_OUTPUT_MOUNT}/${1}" | |
| 76 | 76 | else | |
gcfs.sh
| @@ -5,7 +5,7 @@ source .env | |||
| 5 | 5 | GOCRYPTFS_PASSFILE=${GOCRYPTFS_ROOT_DIR:-~/.keys/gocrypts}/gocryptfs.key | |
| 6 | 6 | GOCRYPTFS_OUTPUT_MOUNT=${GOCRYPTFS_MOUNT_ROOT:-~/.mnt} | |
| 7 | 7 | ||
| 8 | - | gcfmount () { | |
| 8 | + | overlay-mount () { | |
| 9 | 9 | if [ "$1" == "data" ]; then | |
| 10 | 10 | GOCRYPTFS_CONFIG="${GOCRYPTFS_ROOT_DIR}/data-cipher/gocryptfs.conf" | |
| 11 | 11 | ||
| @@ -70,7 +70,7 @@ gcfmount () { | |||
| 70 | 70 | gocryptfs -config "$GOCRYPTFS_CONFIG" -passfile "$GOCRYPTFS_PASSFILE" "$GOCRYPTFS_VAULT" "$GOCRYPTFS_VOLUME" | |
| 71 | 71 | } | |
| 72 | 72 | ||
| 73 | - | gcfunmount () { | |
| 73 | + | overlay-umount () { | |
| 74 | 74 | if [ -v "$1" ]; then | |
| 75 | 75 | GOCRYPTFS_PLAIN="${GOCRYPTFS_OUTPUT_MOUNT}/${1}" | |
| 76 | 76 | else | |