List only directories, max 2 nodes down that have "net" in the name $ find /proc -type d -maxdepth 2 -iname '*net*' Find all *.c and *.h files starting from the current "." position. $ find . \( -iname '*.c' -o -iname '*.h' \) -print Find all, but skip what's in "/CVS" and "/junk". Start from "/work" $ find /work \( -iregex '.*/CVS' -o -iregex '.*/junk' \) -prune -o -print Note -regex and -iregex work on the directory as well, which means you must consider the "./" that comes before all listings. Here is another example. Find all files except what is under the CVS, including CVS listings. Also exclude "#" and "~". $ find . -regex '.*' ! \( -regex '.*CVS.*' -o -regex '.*[#|~].*' \) Find a *.c file, then run grep on it looking for "stdio.h" $ find . -iname '*.c' -exec grep -H 'stdio.h' {} \; sample output --> ./prog1.c:#include./test.c:#include Looking for the disk-hog on the whole system? $ find / -size +10000k 2>/dev/null Looking for files changed in the last 24 hours? Make sure you add the minus sign "-1", otherwise, you will only find files changed exactly 24 hours from now. With the "-1" you get files changed from now to 24 hours. $ find . -ctime -1 -printf "%a %f\n" Wed Oct 6 12:51:56 2010 . Wed Oct 6 12:35:16 2010 Linux_and_Open_Source.txt Or if you just want files. $ find . -type f -ctime -1 -printf "%a %f\n" Details on file status change in the last 48 hours, current directory. Also note "-atime -2"). $ find . -ctime -2 -type f -exec ls -l {} \; NOTE: if you don't use -type f, you make get "." returned, which when run through ls "ls ." may list more than what you want. Also you may only want the current directory $ find . -ctime -2 -type f -maxdepth 1 -exec ls -l {} \; To find files modified within the last 5 to 10 minutes $ find . -mmin +5 -mmin -10
Red Hat, Fedora, Gnome, KDE, MySQL, PostgreSQL, PostGIS, Slony, Zarafa, Scalix, SugarCRM, vtiger, CITADEL,OpenOffice, LibreOffice,Wine, Apache, hadoop, Nginx Drupla, Joomla, Jboss, Wordpress, WebGUI, Tomcat, TiKi WiKi, Wikimedia, SpamAssassin, ClamAV, OpenLDAP, OTRS, RT, Samba, Cyrus, Dovecot, Exim, Postfix, sendmail, Amanda, Bacula, DRBD, Heartbeat, Keepalived, Nagios, Zabbix, Zenoss,
Monday, October 18, 2010
Using the "find" Command.
Monitor all Network Traffic Except Your Current ssh Connection
$ tcpdump -i eth0 -nN -vvv -xX -s 1500 port not 22 Or to filter out port 123 as well getting the full length of the packet (-s 0), use the following: $ tcpdump -i eth0 -nN -vvv -xX -s 0 port not 22 and port not 123 Or to filter only a certain host say 192.168.158.205 $ tcpdump -i eth0 -nN -vvv -xX port not 22 and host 192.168.158.205 Just want ip addresses and a little bit of data, then, use this. The "-c 20" is to stop after 20 packets. $ tcpdump -i eth0 -nN -s 1500 port not 22 -c 20 If you're looking for sign of DOS attacks, the following show just the SYN packets on all interfaces: $ tcpdump 'tcp[13] & 2 == 2'
Speed up SSH
Try setting up ssh client with compression and
use arcfour/blowfish encryption instead. Also avoid ipv6 lookup and
reuse connections using
socket:
Add below to ~/.ssh/config
socket:
Add below to ~/.ssh/config
Host *
Ciphers arcfour,blowfish-cbc
Compression yes
AddressFamily inet
ControlMaster auto
ControlPath ~/.ssh/socket-%r@%h:%p
Friday, October 15, 2010
Install your own git server on Cent OS / RHEL /Fedora
i386:
Now we want to checkout a copy of the new repository from a different server.
To add a new file to the repo:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
x86_64:rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
As root run this command:yum install git
Next I’m going to setup a new repository and make it accessible
over ssh:We’ll create a dummy file to get started. If you trying to clone (checkout) an empty git repository, you’ll just get errors:mkdir /home/rajat/repo #create directory for new repository
cd /home/rajat/repo
git init
touch firstfile
Add all files in this directory to your git repository:git add .
Commit the changes you’ve made to the repo:git commit
Next we’ll create a clone of the repo and configure it to
be public:you can copy your repo.git directory to where you want to make the repo publiccd /home/rajat
git clone --bare ./repo repo.git
touch repo.git/git-daemon-export-ok
Now we want to checkout a copy of the new repository from a different server.
git clone ssh://yourserveraddress/home/rajat/repo.git
You should now have a new directory labeled repo which contains the
file ‘firstfile’To add a new file to the repo:
Now we want to submit the changes back to the git server:cd repo
touch secondfile
git add .
git commit
git push
You’ll be prompted for your password.
:)
Subscribe to:
Posts (Atom)