Tuesday, September 2, 2014

                             

Linux Administrators  normally login to the linux servers either supplying a password, or using keybased authentication. sshpass command is a tool which allows us to automatically supply password to the command prompt so that automated scripts can be run as desired by users.




Features of sshpass :

 1.Taking backups to a remote server 
 2.Executing commands on systems at a specified time.

Step1:
Setup the RPMforge  (or)  EPEL repository

Then run root 

   #yum install sshpass -y

Getting Help :

  #sshpass -h

Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename      Take password to use from file
   -d number       Use number as file descriptor for getting password
   -p password    Provide password as argument (security unwise)
   -e                    Password is passed as env-var "SSHPASS"
  

 With no parameters - password will be taken from stdin

   -h                 Show help (this screen)
   -V                Print version information
At most one of -f, -d, -p or -e should be used

How to use sshpass command:
Login to ssh server called server.example.com with password called trDR34@r%$#:

$ sshpass -p 'trDR34@r%$#' ssh username@server.example.com

Backup:-

                 
                 Data Backup is the physical copying of data files to a removable  storage device that allows the data to be stored in another location.  When needed, an individual data file or an entire set of data files,  can be restored to a computer system.


USERS OF  BACKUP & RECOVERY:

    1)To copy data to alternate media 
    2)To prevent data loss 
     
     Note: Only administrators can backup the data

Types of data:

      I)System generated data
      II)User generated data

Types of backup:
      1)Full backup
      2)Incremental backup
      3)Differential backup

 1)Full backup :   complete backup of entire system

2)Incremental backup:  It includes all files that were changed since last backup. It always smaller than differential backup.



3)Differential backup:  It includes all the files that were changed since last full backup. As time increases since the last full backup the size of differential backup increases.



Commands for backup:

     1)tar (tape archieve)
     2)cpio (copy input/output)
     3)dump

1) tar:

#tar <options> <destination> <source>
Note:destination must be in .tar extension
options:
-c=create
-v=verbose
-f=file
-t=table of content
-x=extract to
-w=interactive
-z=zip

To take backup

#tar -cvf <path> <file name> <source>
ex:tar -cvf passwd.tar /etc/passwd 

To list the content of tar file
#tar -tvf <path> <file name>
ex:tar -tvf passwd.tar 

To extract content of file

#tar -xvf <path> <file name>
ex:tar -xvf passwd.tar

To take backup along with zip

#tar -cvzf <path> <file name>

Note:file name must be with an extension of .tar.gz

example 
 
#tar -cvzf passwd.tar.gz /etc/passwd

To extract zip file

#tar -xvzf <path> <file name>
example :
 #tar -xvzf passwd.tar.gz

2) cpio(copy input/output):

Backup using cpio:

#ls <options> | cpio -ov > <file name>
example:ls -l | cpio -ov > sun

To extract:

#cpio -iv <file name>
example:cpio -iv sun

3) dump  : 

Backup using dump:
#dump -Ouf <device> <file name>
example:dump -Ouf /media/<pendrive> sun
To extract:
#restore -f <path>
example:restore -f sun

Remote backup:

#rsync -avz <source> -e ssh <destination IP>:<directory>
example:rsync -avz mahesh -e ssh 192.168.1.20:/root/mahesh

#scp -r <source> <destination IP>:<directory>
example:scp -r mahesh  192.168.1.20:/root/mahesh

                                                                          

                                                              
After changing the IP address of a server, at the time of booting up sendmail and sm-client took a very long time (about 4 minutes each) to start.

Usually when sendmail is sluggish starting - it's because it can't figure out hostname details.
# cat /etc/hosts

127.0.0.1  localhost.localdomain localhost


 above needs to be the very first line of /etc/hosts

if you are accepting email for a domain then it would help if you have

the fully qualified domain name set in /etc/sysconfig/network and that

name resolves via dns or at least is listed with an ip address

in /etc/hosts...

i.e.
# hostname

linuxserver.mydomain.com

 # cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=linuxserver.mydomain.com


 # cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

192.168.1.2 linuxserver.mydomain.com linuxserver
# host linuxserver.mydomain.com

linuxserver.mydomain.com has address 192.168.1.2


# cat /etc/mail/local-host-names

mydomain.com

linuxserver.mydomain.com

www.mydomain.com

localhost

localhost.localdomain