Archive

Archive for May, 2009

How to grep a mail log to see if a message bounced

May 22nd, 2009 admin No comments

Command:

tail /usr/local/psa/var/log/maillog -n10000 | grep "user@example.com"

Notes:

Better to tail than cat (in case its a big log)

-n10000 is going back 10000 lines

Add -f if you want to see a live feed of the log

tail -f /usr/local/psa/var/log/maillog | grep "user@example.com"

Source: http://www.woyano.com/view/578/How-to-grep-a-mail-log-to-see-if-a-message-bounced

Categories: plesk, unix / linux Tags:

Shell du command tip – estimate file space usage and exclude particular files

May 22nd, 2009 admin No comments

The du command estimate file space usage and summarize disk usage of each FILE, recursively for directories.

It displays the file system block usage for each file argument and for each directory in the file hierarchy rooted in each direc tory argument. If no file is specified it will use current directory.

du command Examples

Type du to display usage in current directory :

$ du

Pass -h option to display output in Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte (Human-readable output)

$ du -h

Display the name and size of each png file in the /ramdisk/figs/ directory as well as a total for all of the pngs:

$ du -hc /ramdisk/figs/*.png

Another useful option is -c which produce a grand total:

$ du -c

Show the disk usage of the /home/vivek subdirectory:

$ du /home/vivek

Show only a summary of the disk usage of the /home/vivek

$ du -hs /home/vivek

Exclude files that match PATTERN. For example do not count *.obj or *.jpg files:

$ du -h --exclude='*.obj'
$ du -h --exclude='*.jpg'

A PATTERN is a shell pattern (not a regular perl or other expression). The pattern ? matches any one character, whereas * matches any string.

Pipes and filters with du

Now display everything sorted by filesize:

$ du -sk .[A-z]* *| sort -n

Display screenful output at a time as du generate more output than can fit on the console / screen:

$ du -h | less

To find top 3 directories, enter :

$ du -sk * | sort -nr | head -3
4620348 var
651972  home
27896   usr
21384   lib64

Working without du

Finally here is one liner (without du command) that prints top 10 filesize in Mb (thanks to dreyser for submitting idea):

# find /var -type f | xargs ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head

Output:

31Mb /var/crash/_usr_lib_firefox_firefox-bin.1000.crash
22Mb /var/cache/apt/archives/linux-image-2.6.20-16-generic_2.6.20-16.28_i386.deb
16Mb /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_feisty_universe_binary-i386_Packages
15Mb /var/cache/apt/archives/linux-restricted-modules-2.6.20-16-generic_2.6.20.5-16.28_i386.deb
9Mb /var/cache/apt/srcpkgcache.bin
9Mb /var/cache/apt/pkgcache.bin
8Mb /var/cache/apt/archives/firefox_2.0.0.4+1-0ubuntu1_i386.deb
7Mb /var/cache/apt/archives/linux-headers-2.6.20-16_2.6.20-16.28_i386.deb
5Mb /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_feisty_main_binary-i386_Packages
5Mb /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_feisty_universe_source_Sources

Categories: unix / linux Tags:

Ignore Files and Directories in Subversion

May 17th, 2009 admin No comments
# ---------------------------------------------------------------------
#  Ignore all the .txt files in the /trunk/Blah/ directory
# ---------------------------------------------------------------------
 
# Go to the directory
cd trunk/Blah/              # The directory with the files
 
# Start editing the properties for the current directory
svn propedit svn:ignore .   # Opens an editor (SVN_EDITOR, EDITOR)
 
# Add the following value with a new line, save, and exit:
*.txt
 
# See that things worked
svn propget svn:ignore .    # So you can see the properties
svn status --no-ignore      # You should see an 'I' next to the ignored files
 
# Commit
svn commit -m "New Ignores" # You must commit the new property change
 
# ---------------------------------------------------------------------
#     Ignore a single file secret.txt in the /trunk/ directory
# ---------------------------------------------------------------------
 
# Go to the directory
cd trunk/
 
# Add just the single file to the current directories ignore list (like above)
# Note the dot at the end of the command is important
svn propset svn:ignore secret.txt .
 
# See that things worked
svn propget svn:ignore .    # Notice the single file was added to the list
svn status --no-ignore      # You should see an 'I' next to the ignored files
 
# Commit
svn commit -m "Its secret"  # You must commit the new property change

Source: http://blog.bogojoker.com/2008/07/command-line-svnignore-a-file/

Categories: svn Tags: