ZFS cleanup of snapshots

Just a small note for this oneliner to cleanup snapshots

First list all snapshots with a given pattern.
(This eaxmple searches 12m)

zfs list -t snapshot | grep -F '12m' | cut -d " " -f 1 | xargs -L 1 echo zfs destroy

Remove the word echo to perform a cleanup

zfs list -t snapshot | grep -F '12m' | cut -d " " -f 1 | xargs -L 1 zfs destroy


zfs list -t snapshot
List all zfs snaphots

grep -F '12m'
Only match the lines containing the string 12m

cut -d " " -f 1
Only fetch the first column of the output. (This is the snapshot name)

xargs -L 1 zfs destroy
Execute the command ‘zfs destroy’ for the found lines
The option -L 1 means it calls ‘zfs destroy’ per item
without it, xargs wills supply multiple items to 1 call. (Which isn’t support by zfs destroy)


Installing Freebsd 11 via USB error 19

Today I tried to install FreeBSD 11.0
FreeBSD booted from the USB stick. When mounting the install image I received error:

Mounting from ufs:/dev/ufs/FreeBSD_Install failed with error 19.

I couldn’t figure out why I constantly got this error.

After tweaking bios etc. Using an USB2 port I finally gave up an though my USB stick was broken..
But then creating the second stick I found the problem.

The first time I created my memory stick like this on Mac OS X

sudo dd if="FreeBSD-11.0-RELEASE-amd64-memstick.img" of="/dev/disk2s1" bs="10240"

Look at the wrong /dev/disk2s1 path.. (that’s wrong!! )

The second attempt I used the following command. (I needed tot unmount /dev/disk2s1 in DiskUtilty first

sudo dd if="FreeBSD-11.0-RELEASE-amd64-memstick.img" of=/dev/disk2 bs=1m conv=sync

Now it works :D


Adding a raw mail-file to the postfixqueue

Today I had an issue that I needed to resend quarantined emails.
You can simply execute the following command to inject the mails to postfix

sendmail -t < name_of_the_raw_email_file

Thanks Wietse (Author of Postfix)