Posts

MySQL Export: One Table per File

Way to save a gzipped SQL dump of each table individually. Sometimes it’s useful to have separate table backups.

Magic with nginx geo and autoindex on/off

Image
Long story short: Nginx does not support .htaccess , which can be a problem when you want to restrict autoindex to specific IPs.

/var/run/mysqld not present after reboot

Symptoms: MySQL starts correctly after installation, but fails to start after the first reboot because it cannot create the PID/socket in /var/run/mysqld .

Minimalist nginx vhost template example

Minimal Nginx template for HTTPS with HTTP → HTTPS and www → non-www redirects. No need for separate 80 and 443 vhosts if you only use 443 for traffic.

High Availability Redis with Automatic Failover

Image
Redis is a powerful tool to store key-value data in various formats. Here’s a simple way to create failover replication. Sometimes people call this a Redis cluster, but in reality it’s just a few servers (preferably 3 for Sentinel quorum) with one master and multiple slaves in different configurations (slave of slave, slave by priority, local slave, etc.).

User-friendly Bash script template

Sometimes you need a user-friendly interface for scripts. Using raw ARG0, ARG1… is messy. Here’s a clean example of parsing arguments like -h or -a=one in Bash.

Fail python-pip after upgrade on Debian 8 and 9

Sometimes after running pip install --upgrade pip , pip fails with the error ImportError: cannot import name main . Here’s the simplest way to fix it.