Thursday, April 10, 2014
Wednesday, December 18, 2013
Shell Scripting - referrence
-nt : Newer than
-ot : Older than
-gt : Greater than
-lt : Less than
-ge : Greater than or equal to
-le : less than or equal to
-eq : equal to
-ne : not equal to
check if the name "abc" is file or not
test -f abc; echo $? - if o/p is 0 then its a file else its a directory
also,
[-f abc]; echo $?
to check socket files eg mysql.sock
test -S /var/lib/mysql/mysql.sock; echo $? - if o/p is 0 then its socket file else not
To check null (zero size) files
test -s log1.log; echo $? - if o/p is 0 then its not a zero byte file.
man test - for all details
-ot : Older than
-gt : Greater than
-lt : Less than
-ge : Greater than or equal to
-le : less than or equal to
-eq : equal to
-ne : not equal to
check if the name "abc" is file or not
test -f abc; echo $? - if o/p is 0 then its a file else its a directory
also,
[-f abc]; echo $?
to check socket files eg mysql.sock
test -S /var/lib/mysql/mysql.sock; echo $? - if o/p is 0 then its socket file else not
To check null (zero size) files
test -s log1.log; echo $? - if o/p is 0 then its not a zero byte file.
man test - for all details
Different ways of identifying whoe is logged on linux server
$ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w $ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h $ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u $ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM IDLE WHAT ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv] jason pts/1 dev-db-server 20:36 -bash john pts/2 dev-db-server 1.00s w -s
2. Get the user name and process of logged in user using who and users command
who command is used to get the list of the usernames who are currently logged in. Output of the who command contains the following columns: user name, tty number, date and time, machine address.
$ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server)To get a list of all usernames that are currently logged in, use the following:
$ who | cut -d’ ‘ -f1 | sort | uniq john jason ramesh
Users Command
users command is used to print the user name who are all currently logged in the current host. It is one of the command don’t have any option other than help and version. If the user using, ‘n’ number of terminals, the user name will shown in ‘n’ number of time in the output.
$ users john jason ramesh3. Get the username you are currently logged in using whoami
whoami command is used to print the loggedin user name.
$ whoami johnwhoami command gives the same output as id -un as shown below:
$ id -un johnwho am i command will display the logged-in user name and current tty details. The output of this command contains the following columns: logged-in user name, tty name, current time with date and ip-address from where this users initiated the connection.
$ who am i john pts/2 2009-03-28 23:04 (dev-db-server) $ who mom likes john pts/2 2009-03-28 23:04 (dev-db-server) Warning: Don’t try “who mom hates” command.Also, if you do su to some other user, this command will give the information about the logged in user name details.
4. Get the user login history at any time
last command will give login history for a specific username. If we don’t give any argument for this command, it will list login history for all users. By default this information will read from /var/log/wtmp file. The output of this command contains the following columns:
- User name
- Tty device number
- Login date and time
- Logout time
- Total working time
$ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
Monday, February 11, 2013
Clone Permission
List all the files
with ownership and full path :
find $PWD -type
d -ls
List all the
directories with ownership and full path :
find $PWD -type
f -ls
List all the
permissions with full path recursively :
find ${PWD} -exec
stat -c' %a %n' {} \;
==================================================================
Script to Change
Files
Usage : this script
and file name
Script.sh filename
#! /bin/bash
i=0
t=`cat $1 | wc -l`
while [ $i -lt $t ]
do
i=$[$i + 1]
read line
user=`echo $line | awk '{print
$5}'`
group=`echo $line | awk '{print
$6}'`
file=`echo $line | awk '{print
$NF}'`
#echo $user
#echo $group
#echo $file
chown $user:$group $file
if [ $? -eq 0 ] ; then
echo File $line is updated >>
/tmp/updatedFiles.txt
else
echo File $line is
failed >> /tmp/updatedFilesFailed.txt
fi
done < $1
#END
==================================================================
Script to ChangeDir
Usage : this script
and file name
Script.sh filename
#! /bin/bash
i=0
t=`cat $1 | wc -l`
while [ $i -lt $t ]
do
i=$[$i + 1]
read line
user=`echo $line | awk '{print
$5}'`
group=`echo $line | awk '{print
$6}'`
file=`echo $line | awk '{print
$NF}'`
# echo $user
# echo $group
# echo $file
chown $user:$group $file
if [ $? -eq 0 ] ; then
echo Directory $line is updated >>
/tmp/updatedDirs.txt
else
echo Directory $line is
failed >> /tmp/updatedDirsFailed.txt
fi
done < $1
#END
==================================================================
Changes permission
for all the files :
Script to Change
Files
Usage : this script
and file name
Script.sh filename
#! /bin/bash
i=0
t=`cat $1 | wc -l`
while [ $i -lt $t ]
do
i=$[$i + 1]
read line
permission=`echo $line | awk
'{print $1}'`
file=`echo $line | awk '{print
$NF}'`
#echo $permission
#echo $file
chmod $permission $file
if [ $? -eq 0 ] ; then
echo Permission $line is updated >>
/tmp/updatedPermission.txt
else
echo Permission $line
is failed >> /tmp/updatedPermissionFailed.txt
fi
done < $1
#END
Wednesday, September 12, 2012
Adding software repository in SuSE 12.2
In YaST / Software / Software Repositories / Add URL then:
Uncheck:Download repository description Files.
For Non-Oss add URL: "http://download.opensuse.org/distribution/12.2/repo/non-oss/", Named: openSUSE-12.2-Non-Oss.
For Oss add URL: "http://download.opensuse.org/distribution/12.2/repo/oss/" , Named: openSUSE-12.2-Oss.
Uncheck:Download repository description Files.
For Non-Oss add URL: "http://download.opensuse.org/distribution/12.2/repo/non-oss/"
For Oss add URL: "http://download.opensuse.org/distribution/12.2/repo/oss/" , Named: openSUSE-12.2-Oss.
Thursday, May 26, 2011
Add cronjob using shell script
have your script ...
a. crontab -l > $tmpfile
b. edit $tmpfile
c. crontab $tmpfile
d. rm $tmpfile
a. crontab -l > $tmpfile
b. edit $tmpfile
c. crontab $tmpfile
d. rm $tmpfile
Subscribe to:
Posts (Atom)