Bash
Split A Big File Into Multiple TAR Files
So you have a big archive or big file that you can’t fit on a single storage (are there still such things that does not fit onto a USB these days?
). How do you split them up on Linux?
tar czvfp - /your/one/big/file-or-archive | split -d -b 102400000 - multifile-prefix
The result would be files like multifile-prefix00 .. multifile-prefixNN.
You can then put them back together with:
cat multifile-prefix* | tar xzvfp -
Nevertheless, go buy yourself bigger USB drives!
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
Find Out Which Repository an RPM is Installed From
You might be wondering which an rpm package came from. When yum info
will list “installed” instead of which repository, well here is a one liner that can help:
rpm -q gpg-pubkey --provides | grep `rpm -qi
Here is a sample:
[root@vm-linux-01 ~]# rpm -q gpg-pubkey --provides | grep `rpm -qi mysql-server|grep Signature|awk '{print $(NF)}'|tail -1`
gpg(Atomic Rocket Turtle
gpg(5ebd2744) = 4:32a951145ebd2744-418ffac9
So we know that mysql-server came from the Atomic repo
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.
Poll Virtuozzo Containers Disk Usage and Quota on Linux
If you need a quick overview of disk quota and usage of the VPSes within you Linux Parallels Virtuozzo hardware node below is a quick one.
for vps in `vzlist -o veid -H`; do vzquota stat $vps; done;
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.