ZFS snapshots automáticos con zfstools

Configuración automática:

# snapshots
15,30,45 * * * * /usr/local/sbin/zfs-auto-snapshot frequent  4
0       * * * * /usr/local/sbin/zfs-auto-snapshot hourly   24
7       0 * * * /usr/local/sbin/zfs-auto-snapshot daily     7
14      0 * * 7 /usr/local/sbin/zfs-auto-snapshot weekly    4
#28       0 1 * * /usr/local/sbin/zfs-auto-snapshot monthly  12
*/20     * * * * /usr/local/sbin/zfs-cleanup-snapshots

He comentado los 12 snapshots mensuales porque ocuparían mucho espacio.

Para ver los datasets marcados para hacer snapshots:

zfs get com.sun:auto-snapshot

Para hacer snapshots de un dataset:

zfs set com.sun:auto-snapshot=true zroot/path/to/dataset

Si se quisiera desmarcar, se cambiaría true por false en el comando anterior.

Fuente: https://github.com/bdrewery/zfstools
http://blather.michaelwlucas.com/archives/2140

Cambiar a UTF-8 en FreeBSD

FreeBSD login.conf UTF-8

Para ver las locales que disponemos:

locale -a | grep '\.UTF-8$'

De esa lista elegimos la que queramos y modificamos el archivo

/etc/login.conf

si queremos que el cambio sea global. Debemos modificar la sección default: y añadir al final:

:charset=UTF-8:\
:lang=en_US.UTF-8:

Después debemos ejecutar:

cap_mkdb /etc/login.conf

Fuente: https://www.b1c1l1.com/blog/2011/05/09/using-utf-8-unicode-on-freebsd/

Python wrapper para Xvfb

Si queremos usar Selenium en un servidor sin X-Window necesitamos usar Xvfb para que pueda usar el driver que sea (Firefox en mi caso)

No conseguí que Firefox usara Xvfb hasta que encontré PyVirtualDisplay. Para instalarlo hay que usar pip:

pip install pyvirtualdisplay

Este es un ejemplo de uso de PyVirtualDisplay y Selenium:

#!/usr/bin/env python

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display.
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

Fuente: http://coreygoldberg.blogspot.com.es/2011/06/python-headless-selenium-webdriver.html

Renombrar un dominio KVM

No hay una forma directa para renombrar un dominio (una máquina virtual) de KVM. Lo que se puede hacer es lo siguiente:

virsh dumpxml viejavm > dump.xml

Editamos el archivo dump.xml y cambiamos el nombre viejo por el nuevo que queremos.

Borramos el viejo dominio y cargamos el nuevo:

virsh undefine viejavm
virsh define dump.xml

Fuente: https://www.redhat.com/archives/libvirt-users/2010-October/msg00072.html