diff --git a/pacman-zfs-snapshot.sh b/pacman-zfs-snapshot.sh index e43e3c2..7f1d72b 100755 --- a/pacman-zfs-snapshot.sh +++ b/pacman-zfs-snapshot.sh @@ -190,6 +190,18 @@ function trim_pkg_list_oneline () { trimmed_pkg_list_oneline="${shorter_pkg_list}" } +function do_snaps () { + local snap_name + for snappable_dataset in "${snappable_datasets[@]}"; do + snap_name="${snappable_dataset}"'@'"${snap_name_prefix}${snap_field_separator}${date_string}${snap_field_separator}"'op:'"${operation}${snap_field_separator}"'sev:'"${severity}${snap_field_separator}"'pkgs:'"${trimmed_pkg_list_oneline}" + zfs snapshot "${snap_name}" && { + pprint 'info' 'Snapshot done: '"${snap_name}" + } || { + pprint 'warn' 'Snapshot failed: '"${snap_name}" + } + done +} + function main () { local pkgs_in_transaction pkgs_in_transaction=("${@}") @@ -222,6 +234,8 @@ function main () { local trimmed_pkg_list_oneline trim_pkg_list_oneline + + do_snaps } main "${pkgs[@]}"