Featured »


Removing Strings from Binary Log Files

November 14, 2016 – 12:52 pm

Below is a quick script that will replace specified strings in binary files with random values. A word of caution: the script will preserve the file’s original ctime by briefly changing system time. Obviously, this requires …

Read the full story »

Unix and Linux network configuration. Multiple network interfaces. Bridged NICs. High-availability network configurations.


Reviews of latest Unix and Linux software. Helpful tips for application support admins. Automating application support.


Disk partitioning, filesystems, directories, and files. Volume management, logical volumes, HA filesystems. Backups and disaster recovery.


Distributed server monitoring. Server performance and capacity planning. Monitoring applications, network status and user activity.

Commands & Shells

Cool Unix shell commands and options. Command-line tools and application. Things every Unix sysadmin needs to know.

Virtualization »

Copying a VM between VCenters

November 12, 2016 – 6:13 pm

I had a little task: clone an operational VM from one VCenter to another. Normally, for such a task I would use the Standalone Converter. Unfortunately, this time I ran into an annoying SSH key issue: the source VM was an old 32-bit RHEL using DSA and my Converter version only supported RSA. A different approach was needed. Read the full story »

Agedu – Finding Old Files

November 7, 2016 – 3:35 pm
filing cabinet files

I almost never delete anything (not on purpose anyway). Having said that, sometimes I do need to find old data on a server and offload it to a NAS. Agedu has been around for ages. …

Monitoring Solr Cores

November 1, 2016 – 10:50 pm
binoculars watch security rifle gun

The Cloud tab of the Solr Web UI is convenient, but not for monitoring purposes. Just like you, I hate XML and parsing it from shell is more convoluted that it needed to be. But …

Tracking Emails in Postfix Logs

October 27, 2016 – 6:02 pm

Depending on your Postfix configuration, the same email may cycle through the postfix queue several times, changing it’s queue ID and making it difficult to track. For example, if you have Amavis configured for spam and …

Gather MX Records for a List of Domains

October 26, 2016 – 3:45 pm

This is a simple one: get a list of MX records for the given domains and output into CSV file. Really, the only interesting part of this is the use of array to temporarily store …

Installing Alternative Java Versions on RHEL/CentOS

October 26, 2016 – 2:23 pm

Below is shorthand for installing alternative versions of Java on your RHEL/CentOS system. This may come in useful for the purposes of testing.

Loan Payment Calculator in Bash

October 13, 2016 – 5:53 pm

Just a little bit of fun with Bash: a loan payment calculator. Nothing fancy here. Maybe I’ll add the amortization schedule to it later…

Installing NetData on RHEL/CentOS

October 13, 2016 – 5:50 pm

NetData is a real-time system monitor great for visualizing performance data. Instances of netdata run independently on monitored systems. The results can be accessed remotely and grouped into a single dashboard view, making this tool highly scalable. …

BIND DNS Query Frequency Analysis

September 6, 2016 – 1:30 pm

The little script below will look through your BIND query logs and calculate average query-per-minute rate for the given clients.e Nothing fancy, but can be useful in identifying the heavy-hitters.

Using YUM to Sync Packages with Master Server

August 21, 2016 – 10:40 pm
hard drive disk

I just built a new CentOS box and needed to make sure it had all the same packages installed as one of my other servers. So, before this gets lost in the shell history, here’s …

Nohup Without Nohup.out

July 13, 2016 – 12:55 am

This is a common question: how can I run nohup without creating the annoying nohup.out ? And the common answer is: you can’t. But this is not exactly true.

Socket Statistics ss Command

July 11, 2016 – 8:10 pm

This is a small collection of useful ss (written by Alexey Kuznetsov of the Russian Nuclear Research Institute) syntax examples that go beyond the basics covered by other sources. Here’s one I use often: it shows established connections to …

Filesystem Synchronization with Freehold

July 8, 2016 – 2:43 am

Whenever an application description begins with phrases like “runs on anything” and “is easy to setup”, attribute such bravado to the author’s lack of experience outside his development sandbox. Freehold comes as a tarball for “any Linux” …

Osync and DiffTree

July 8, 2016 – 1:49 am
filing cabinet files

Think of osync as a kind of rsync that is more suited for making backups. While rsync certainly has more options, osync takes a lot of the complexity out of writing a backup script with a few options that are …

Improving Your Scripts with ShellCheck

July 7, 2016 – 8:42 pm

Unlike most other popular scripting languages, Bash has few style-checking utilities. The best one, I think, is ShellCheck – a very cool and useful utility that can greatly  enhance robustness of your scripts. Like that time …

Increasing Entropy Pool in Linux

June 28, 2016 – 9:48 pm

The pool of random numbers in Linux is derived primarily from user interaction (keystrokes and mouse movement). A server does not have such a source and the random pool may start running low, especially during …

Fixing NIC Name in Cloned VMWare Linux Machines

June 28, 2016 – 12:32 pm
network switch

A suspected bug with certain versions of VMware ESX causes cloned Linux VMs to obtain a sequentially-number NIC. For example, if the parent VM had eth0, the clone will have eth1, and the clone of …

Better ‘date’ Functionality in Solaris

June 28, 2016 – 8:53 am

The Solaris date command does not have many of the useful features of its GNU equivalent. A workaround is to use Tcl. This requires tclsh to be installed (which tclsh). You can implement this workaround as …

Create NFS share from QNAP CLI

June 13, 2016 – 2:21 pm

In this example we create the “test” NFS share on a QNAP NAS from CLI and export it to client_ip_01 and client_ip_02. Things to keep in mind: this only creates an NFS share – not …

Speed Up Shell Loops Using Arrays

June 7, 2016 – 9:02 am

Just a quick note on addressing a common issue of running redundant commands when using shell loops. Let’s say you needed to get a count of network connections to an Oracle database server for each connection …

Kodi Volume Control Stops Working

May 22, 2016 – 1:01 am

All of a sudden, when using the remote (either radio or IR), Kodi sound controls stop responding. The volume level does not change and the mute button doesn’t work. These are possible symptoms of an …

VMWare VMDK Locked Error

May 21, 2016 – 10:27 pm

So, being a Unix admin on-call for the week, I just spent half of my Saturday fixing a dead Windows VM. Very annoying. The best I can tell, the issue occurred during the snapshot operation. …

Decrypting Mac Disk

May 20, 2016 – 11:41 am

It is generally a good idea to use full-disk encryption, especially on a laptop. However, this becomes bothersome if you are trying to re-partition your disk, say, to make the system dual-boot. Here’s a quick …