Monday, October 29, 2012


How to write perl shell.

[root@manas ~]cat /tmp/perl_shell
#!/usr/bin/perl

my($output);
do {
    $output = eval;
    if($output =~ /^\s*$/) {
        print "\n$@";
    }
    else {
        print "\n$output";
    }
    print "\nperl_shell>";
} while(<>);


Now you can use perl shell like following :
perl_shell>print "Mandar Pande is a rich man ! "
Mandar Pande is a rich man !

perl_shell>print rand(100)
27.8423844211833

perl_shell>print sqrt(16);
4

simple tab settings in vi/vim


Pretty simple setting ! But I used to forget every time :). 
Python coding would be hell, if this setting is not defined in .vimrc.

set smartindent
set tabstop=4
set shiftwidth=4
set expandtab

Guys, Please continue to update .vimrc settings on this post. 

Wednesday, October 24, 2012

lftp file transfer in shell script


script uses conf file as an input:

[mandy@mandy mpix]$ cat lftp.sh 
#!/bin/sh
lftp -f lftp.conf

Input file uses open command on port 2121:

[mandy@mandy mpix]$ cat lftp.conf 
open -p 2121 server_name
mput file1
mput file2
mput file3
bye

Saturday, October 20, 2012

Remote copy using tar over ssh.

$tar -cvf - <source_content> | ssh <user@hostname> "tar -xvf - -C <where_to_copy>"

where,
-  : tells tar to compress and send output of tar to terminal ( at source )
- : tells tar to accept input from terminal and extract into directory specified by -C.

Observations :
It takes at least 40% of less time than actual scp/rcp takes !!

Wednesday, October 17, 2012

tar quick ref

List the files from tar:
------------------------

[mandy@mandy mpande]$ tar -tvf mp.tar
-rw-r----- mandy/mandy 12 2012-08-30 05:13:06 20120830000001.txt
-rw-r----- mandy/mandy 12 2012-08-30 05:13:15 20120830000002
-rw-r----- mandy/mandy 12 2012-08-30 05:13:25 20120830000003.txt
-rw-r----- mandy/mandy 12 2012-08-30 05:11:32 3
-rw-r----- mandy/mandy 12 2012-08-30 05:11:34 4
-rw-r----- mandy/mandy 12 2012-08-30 05:11:37 5

List only *2012* files from tar:
--------------------------------

[mandy@mandy mpande]$ tar -tvf mp.tar --wildcards --no-anchored '*2012*'
-rw-r----- mandy/mandy 12 2012-08-30 05:13:06 20120830000001.txt
-rw-r----- mandy/mandy 12 2012-08-30 05:13:15 20120830000002
-rw-r----- mandy/mandy 12 2012-08-30 05:13:25 20120830000003.txt

Extract files with *2012* from tar:
-----------------------------------

[mandy@mandy mpande]$ tar -xvf mp.tar --wildcards --no-anchored '*2012*'
20120830000001.txt
20120830000002
20120830000003.txt

List files excluding certain pattern:
-------------------------------------

[mandy@mandy mpande]$ tar -tvf mp.tar --exclude *2012*
-rw-r----- mandy/mandy 12 2012-08-30 05:11:32 3
-rw-r----- mandy/mandy 12 2012-08-30 05:11:34 4
-rw-r----- mandy/mandy 12 2012-08-30 05:11:37 5

Extract files excluding certain pattern:
----------------------------------------

[mandy@mandy mpande]$ tar -xvf mp.tar --exclude *2012*
3
4
5

Monday, October 8, 2012

Reset MySQL root Password

Hello,

Many times it happens that we do forget the root password for our mysql instance(whether local or on server if you have rights). It also happens, if we start using a system in which mysql was already there and we don't know whats the root login.

Following steps can help in resetting the root password
Note: You must have root privileges or sudo access to execute the commands :)

1) Stop the mysql daemon:
             like: /etc/init.d/mysql stop
2) Start to MySQL server w/o password:
             use skip-grant-tables option while restarting.
3) Connect to mysql server as the root user:
             mysql -u root
4) Setup new mysql root account password i.e. reset mysql password:
             update user set password=PASSWORD("new password") where User='root';
             (we need to enter password in encrypted form, so using password())
5) Exit and restart the MySQL server:
               like: /etc/init.d/mysql restart





Hope this is useful.