Systems Administration

/bin/rm: Argument list too long

Do this instead: find . -name '*' | xargs rm

High Availability Web Services Using HAProxy

I was recently tasked with increasing the up time of my employer's main Web site. The site uses a content management system that lives on two Windows/IIS servers. (I know, the system was purchased before I was hired.) One server is for making changes to content (design-time server) and the other is the public web site (run-time server). The design-time server has a complete copy of the site which is replicated to the run-time server. Unfortunately the run-time server has a habit of refusing to serve pages at the most inopportune times, usually when I'm on vacation or somewhere without a computer.

Butt Kicking Chair

A couple of years ago I was sitting in one of those mind numbing meetings about stupid users or some such thing when I began to doodle and hit upon an idea. Wouldn't it be cool if all of our users sat in specially designed (or retrofitted) chairs that were capable of producing a shot to the sitter's posterior. The idea called for a chair, a boot, a lever, an actuator, a small computer with a network connection (wired or wireless), and some custom software. The computer would provide a network interface that would allow an administrator or help desk person to send a request to the chair and the person sitting in it would get a single kick in the pants. The idea for the interface later morphed into a web page and/or XML-RPC interface that listened to requests from authorized administrators which would trigger the butt kicking as well as various presets (single kick, small whooping, smack down, death by boot, etc).

Sending Cache-control Headers Using Apache 2.x and mod_expires

About a year ago I wrote about how use mod_header with Apache 1.3x to send Cache-control headers. It worked so well that I want to configure my Apache 2.x servers to send the same headers. It's even simpler with Apache 2.x since mod_expires is included in most default installs. Here's what I did.

I added a configuration directive for the main server configuration (inside the Directory block) which sends the Cache-control header for common graphics.

Automated Backups of Filemaker Server 6.0 running on Linux

When running Filemaker Server 5.5/6.0 on Linux one looses the nice automated backup features which exist in the Windows and Mac versions of the software. It turns out backups can be automated pretty simply by using the PAUSE and RESUME options for fmserverd. I don't claim to be a super bash scripter but here's an example script to get you going (keep in mind that this script lacks error handling, use it at your own risk). NOTE: If anyone would like to add error handling and other nifty features please login and post a comment with your suggestions.

Running Filemaker Server 5.5/6.0 on SuSE 9.3

I have recently configured Filemaker Server v5.5/6.0 to run on SuSE 9.3 using the techniques outlined in the How To "HowTo run Filemaker Server 5.5 on Redhat Linux 7.3, Redhat Linux 9.0 and Redhat Fedora Core 1" authored by Christof Baumgärtner. The key ends up being the compat-glibc-6.2-2.1.3.2.i386.rpm (glib 2.1 compatibility) libraries. Filemaker Server on Linux is a good alternative to server proliferation. Now I can consoludate Filemaker services onto our existing Linux infrastructure without having to buy yet anoth

Sending Cache-control Headers Using Apache's header module

NOTE: If you're using Apache 2.x go here.

I manage a fair number of Apache 1.3x web servers. Most of which are used for virtual hosting. After reading an article by Jeff Fulmer in SysAdmin Magazine entitled "Save Bandwidth and Increase Performance with Cache-control Response Headers" I decided to configure my Apache servers to use mod_header to send the Cache-control header for graphics files.