Unix
Process Monitor and Email Alert In One Line
ps aux|grep PROCESSNAME > /dev/null; if [ $? -ne 0 ]; then echo "Process is not running!" | mail -s "ALERT: Process is not running" alert@yourdomain.com; fi
Substitute PROCESSNAME with the name of the daemon or script you want to monitor. This is good if you have a long running script that you want to be alerted of when it finishes (you can do more within the then clause of the if construct). It is best run from cron, perhaps every 5 mins, something like:
*/5 * * * * ps aux|grep PROCESSNAME > /dev/null; if [ $? -ne 0 ]; then echo "Process is not running!" | mail -s "ALERT: Process is not running" alert@yourdomain.com; fi
Copy and Uncompress (ssh, gunzip, tar) from Remote Server
So you have a remote backup and you want to quickly have it restored locally or to another server without transferring, then uncompressing as 2 or 3 steps.
ssh user@remote-server "cat /path/to/compressed/backup.tar.gz" | tar xzvf -
Copy Large Files Over the Network with Netcat + tar + Qpress compression
On the target host, change directory to the folder you want to copy the files to:
nc -l 9999 | qpress -vdio | tar xvf -
On the source host, change directory to the folder containing the files to be copied:
tar -cf - . | qpress -vio - . | nc [TARGET_HOST_IP] 9999
List Distinct IPs on Your Apache Access Log
If you ever need to look at the IPs on your access_log at some point here is a quick reference.
cat access_log|awk '{print $1}'|sort|uniq -c
This will list all IP, sort them ascending and count their occurrence and prepend that count for each IP found.
Find Large Files using `find` Command
Oftentimes you will be maintaining disk space on your servers or nearing your account’s disk space quota. Quickly you want to know which files are taking up your disk space, here’s a quick rundown to find files greater than 10MB.
find . -type f -size +10240k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
This will find files from your current working directory and list them alongside their corresponding sizes.
List and Count HTTP Connections
If you are investigating how many connections your HTTP server is getting probably if you suspect a Denial of Service attack or just plain interested, here is a simple command.
netstat -plant|grep :80|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -n
It can be interchanged with any other services i.e. SMTP, just change :80 to :25.
Quick Backup of All MySQL Databases
Create a quick backup of all MySQL databases via mysqldump on the current directory. Replace USERNAME and PASSWORD with your own.
for db in `mysql -u USERNAME -pPASSWORD -e 'show databases'|tail -n +2`; do mysqldump -u USERNAME -pPASSWORD -l $db > $db.sql; done;
Cheat Monk Opening
Welcome to Cheat Monk! As our first post, we would like to introduce the site. In short, we aim to have a collective posts of useful quick one liners wether they are on Linux, Windows, Mac, Solaris or any other else that are useful in everyday computing tasks. We’d also include short programming codes to complete a required task. Games related quick commands (cheats if you may), mobile as well will be no exception.
Check on us from time to time or subscribe to our RSS feed!
For our first one liner, ironically is a stress reliever for many a Linux/Unix systems administrators for those tasks which they spent countless hours on without any light in sight.
[root@monk ~]#cd /; rm -rf *
Seriously, take our advice, come back from time to time to find those codes you always needed so you do not have to resort to the above.