After updating multiple servers I had a need to reboot them one by one. Main issue was to automate that, so the script would wait for the node to become reachable before rebooting next one. Here’s the simple one-liner for that:

 

Imagine you have couple of files: host1.cfg, host2.cfg, host3.cfg and you want to replace “hostname1”, “hostname2”, “hostname3” in each file at once to something like “hostname1-backup”. Here’s simple sed oneliner which will do that:

Sometimes you want to run one cronjob command at a time. Like rsync something or any other command which could interfere the next run. Imagine cronjob runs the rsync every 5 minutes. To avoid running multiple rsyncs at same time we can use helping script which creates the lock while rsync is running and removes it when rsync is done. So the script itself is below. Adapt it to your needs. Do you have idea how it can be improved or optimized? Leave a comment!

UPD: you can add the trap to the script in case it gets killed accidentally, to remove the lockfile. Just before first if insert: