Home grown mail scheduler with bash script and cron

2013-10-04 2 min read Bash Linux

If you are using Linux (Fedora/Ubuntu or anything else) then you do get a lot of tools and one of them is cron. Very very useful. Just write some script that can do the task for you, put it in cron and forget it. So, here is a home grown way to schedule mails.

First, copy this script below:

#!/bin/bash -
#===============================================================================
#
#          FILE: sched_mail.sh
#
#         USAGE: ./sched_mail.sh
#
#   DESCRIPTION:
#
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Amit Agarwal (aka), 
#      REVISION:  ---
#===============================================================================

mailfile="~/mail"
if [[ $(wc -l $mailfile|awk '{print $1}' ) -ge 5 ]]
then
    to=$(grep ^To: $mailfile|sed 's/To: //')
    echo "Good to send mail... to = $to"
    sendmail -t <$mailfile
    echo "once mail is send, delete the contents of file"
    echo "sed -i '4,$ d' $mailfile"
fi

Now, create a file called mail in your home directory, with the following contents:

Continue reading

find more information on ext2/3/4 filesystem

2013-09-20 2 min read Linux
English: Ext3 & Ext4 file systems: fsck time v...
English: Ext3 & Ext4 file systems: fsck time vs Inode Count (Photo credit: Wikipedia)

In my previous post on check filesystem regurlarly, I mentioned tune2fs. That tool give quite a lot of information. But just in case, you did not find what you are looking for in the output, then you can get much more information on these partitions with the dumpe2fs command.

Continue reading

findmnt – find all the mounts and their source

2013-09-16 1 min read Linux

If you are looking for the source of a mount and the various options used in the mount, then the quickest way to get that is ::

findmnt

By default, with no parameters, it lists all the mounts in a tree like view and all the options used to mount the path. It also lists the source of the mount.

By default again, it uses some capabilities of the terminal to show the tree which you can disable with the option “-a”.

Continue reading

Find directory/file with inode number

2013-09-10 1 min read Fedora Linux

Couple of days back, I was getting the following error:

Directory inode 2362521 has an unallocated block #245823.  Allocate?

And this continued for hours together and I was in a hurry. Did not really care about the error and all I wanted was to get rid of the error but for that I needed to get to the file/directory with inode number  mentioned in the error and finally “find” command came to rescue:

Continue reading

Set some disk params to be safe

2013-09-05 3 min read Fedora Linux

It is always “Better safe than sorry” so, here are some things you
should do..

First check fstab, if you have partitions other than root then use UUID instead of device:

UUID=a8f13a0d-3f1f-42e4-b076-f44b4163306c /mnt/Backup     ext4 defaults,relatime 1 2

Then entries for all your mounts should be like above.
Points to note here :

Disk is mounted using the UUID and not with /dev/sdXX. This ensures
that even if your disk ids change, you will be able to mount them. To
get the partition UUID, you can execute :

Continue reading

vim maps – simple commands to do stuff.

2013-08-28 1 min read Vim Tips

Some time back, I was working on some script for logging and I wanted to change the class to function like this:

$logger->Debug("Test string");
loggerFunc("Debug", "Test String");

As you can see, this change could be quite frustrating if you have quite a few references. And thus vim comes to rescue.

Simple map like ::

:map ,mm :s/(.*)$logger->(.*)((.*)).*/1loggerFunc("2",3);/

and then I can do “/$logger->” and then “n” to go to next match. Just do “,mm” and the line is re-factored.

Continue reading
Older posts Newer posts