Linux lockfile explained, how to use them the easy or hard way
4.47 (89.47%) 38 votes
What is a lockfile
You may have experienced it before, you create a cronjob to change some data every X hour or minutes and one day this job takes longer than it usually does and cron spawns another job before the first one is finished.
This can result in data corruption or deletion of data that should not have been deleted, all depending on what the cronjob is set up to do
To prevent bad things from happening, a good rule of thumb is to always use a lockfile
A lockfile is a small file, it virtually takes up no space, at least so little you won’t care (The actual size depends on your filesystem). Sometimes it contains a PID, sometimes a timestamp or just plain empty. Depending on how the lockfile is managed
We only use HP servers and we get more and more every week. Someone has to keep track of all those servers and be able to configure them using iLO in case of a disaster
Installation almost runs automatically, except for iLO configuration.
I have to first find the iLO ip, then login to the web interface, create users, set static IP and what not. It takes time, a lot of it.
If only there was some way to automate it without having to use HP’s software.. but wait, THERE IS!
I already posted how to scan for all HP ILO devices in your subnet, but the basics in the following post on how to configure iLO from your guest Linux OS might make everything a little easier for the sysadmins out there
How to configure HP iLO in Linux
First I will show you the useful commands and an example output for each, and then how to automate the configuration of your HP iLO interface using bash scripting
The script for configuring iLO automatically will be included at the end of this post
OpenIPMI OpenIPMI-libs OpenIPMI-tools
These packages can be installed through your favorite package manager, below you’ll see the defaults in Debian and CentOS/RHEL
Today I had to run a script on a 64Bit server, but was met with the following error:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Reason for the /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory error
The /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory error will happen only on 64 bit systems, the cause is the that 32 bit libraries are missing from the system and the script/program needs them, so it can’t run.
How to fix the /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory error
Make your own keybindings in linux using xbindkeys
5 (100%) 1 vote
Are you like me, who want to listen to music while you work? But then your boss comes over and you quickly have to pause it? Or maybe you just want some key bindings on your linux workstation to make life a lot easier, then look no further! xbindkeys is the solution, and I will show you how in this post! it’s really easy to configure and extremely helpful.
In my example, I will use it to pause/unpause my music when i press CTRL+space no matter what desktop I’m on and even if I’m not in the terminal where MOC (the music player I use) is running.
What you need
xbindkeys is the name of the only package you need for this. It should be in the official repository for your distro. Install examples below:
I needed to make a bash script for work that got the ip address of all new leases in the dhcp server, but only the new ones.
I spend some time looking for something useful, and therefore I decided to write a short post here to help others since i had a hard time finding it (maybe my google-fu is not as good as it should be)
The script had to do the following:
1. Get all new lines from a log file since last run
2. Get the ip addresses of the new leases
3. Do some stuff with the new ip addresses. This will not be part of this post
4. Run every minute in cron. This will also not be part of this post
By default, HP’s ILO interfaces are set to DHCP.
Yes you could go into your router to see which DHCP lease it got, but here is a much more easy solution that you can use anywhere, even though you don’t have access to the router/DHCP server.
You don’t need much. What you need on your Linux computer for this to work is:
sudo (You only need this if you are not logged in as root)
I needed this to do some testing with a load problem I had. One of our server would spike in load for a minute or two, but at random times.
I needed to see what was generating these spikes, but did not want to sit around waiting for it to happen and being ready to hit enter on the commands i needed to run when the load was spiking. So I made this simple little script that you can edit to your needs.
It’s a bash script, and requires the package “bc” to be installed (install it using your package manager if you don’t already have it installed.)
I have tested the script on CentOS and Debian.
I have tried commenting everything in the script as good as possible, but if you have any changes feel free to post a comment.