I recently had to write an init script for our continuous integration systems remote build agent. Of course this agent is a java jar and does not write its own pidfile. On debian or gentoo (yes I used to rice it) this would not have been an issue. Both have and use start-stop-daemon in their init scripts. start-stop-daemon actually understands that not every process you might want to daemonize writes its own pidfile and thus gives you the ability to daemonize a process, capture its pid, and write a pidfile.
Recently I have been working on cleaning up our continuous integration enviornment. Continuous integration is pretty cool but don’t shoot yourself in the foot by making bad build plans and not being very specific about your build requirements. If you have a package dependancy for a build make sure you put it in your requirements. If you need specific access to a database to do fixture tests SPECIFY it. In the short term you can see the benefits of continuous integration without doing these things.
I know I’ve been absent. I am not appologising I’ve been adjusting to the new job and its been keeping me busy. I did notice that my traffic tanked around the 20th of May and pretty much stayed that way until June 9th. I don’t know where everyone went but I’m glad to have you back. I don’t really have any ideas for articles at the moment but I am working on some virtualization at work.
If you haven’t noticed Matt Simmons moved off of blogspot today. If you have not yet go and check out his new home http://www.standalone-sysadmin.com. In other news I’ve been slammed. Nothing exceptional to report really I’ve been spending most of my time doing machine inventory and weeding out unused servers. Yeah not glamorus but its fun in its own way. Ive pulled almost 30 machines from the server room that were unused.
In preparation for connecting to (im guessing here) an Exchange server at my new job I am switching from my beloved Mutt to Evolution. The absolute first thing I noticed about Evolution that I disliked was the keybindings for things like deleting messages, replying to messages and creating a new message. After some digging in the UI I could not find any place to change them. Some more sleuthing turned up some XML files down in /usr/share/evolution/$VERSION/ui.
From time to time this is appropriate to repost. For me its that time again. When I was hired to run the IT department of a major company my predecessor left three letters in the desk that was now mine. Each letter was clearly labeled; System Failure #1, System Failure #2, System Failure #3. A post-it note was attached to the bundle of letters. In case of a substantial system failure open the letters in order, once per failure, and they will help you through the problem.
So I noticed my places.sqlite has grown to over 80M. Since Firefox 3 thats where things like bookmarks are stored. I guess favicons are stored in that same database. At any rate I am very tab happy. I have to control myself and about once every 2 weeks or so I have to sit down and close out a bunch of tabs. Its not uncommon for me to have 90ish tabs open.
Last week I stumbled on a nice console regex helper. It’s not that I’m bad at regex but switching between sed, vim, python, perl regex trips me up a bit sometimes. Go ahead and check it out for yourself sudo aptitude install txt2regex <br /> [.]quit reset [*]color [/]programs ^txt2regex$ !! not supported RegEx perl : RegEx php : RegEx postgres: RegEx python : RegEx sed : RegEx vim :
nginx is a high performance HTTP and mail proxy server written by Igor Sysoev. I’m not sure what the init scripts do for other distros but it seems a bit of an oversight to leave out checking the config file when running the init script. Add this line to your nginx init script right after the text -x $DAEMON line to make it check the config before proceeding to start stop or restart the service.
I hadn’t seen this tool before so I figured I would share. Swaks is the swiss army knife SMTP according to the homepage. I’ve covered testing email from the command line before but this tool sure makes it easier. swaks --to nick@tld --from nick@tld *** MX Routing not available: requires Net::DNS. Using localhost as mail server === Trying localhost:25... === Connected to localhost. <- 220 cmdln-laptop ESMTP Exim 4.69 Thu, 16 Apr 2009 12:23:24 -0500 -> EHLO cmdln-laptop <- 250-cmdln-laptop Hello localhost [127.