Sponsored Content
Top Forums Shell Programming and Scripting Plz correct my syntax of shell script Post 302172564 by girish.batra on Tuesday 4th of March 2008 04:33:38 AM
Old 03-04-2008
Plz correct my syntax of shell script

Dear all

I am still bit new in shell script area.I am writing down a shell script which I guess somewhere wrong so please kindly correct it. I would be greatful for that.

What I actually want from this shell script is that it will move all the files one by one to another server which can be windows or sun solaris server. Here I have implemented autossh between the two servers.

What actually this shell script must do is first 'file' variable will have the first file name then I try to make a infinite while loop, in which it will cut the third word which come out from the successful ping command. If the value of var is alive then transfer one file to another server, then bring back that file to same server so that they can be compare.If the
output of compare is null then come out of while loop or sleep for 60 second before ping command can be use again.


My intention of making this script is while transfering a file from serverA to serverB if the network broke down for a while say half an hour or so then it will test through the ping command if the ping command say servername is alive then transfer that file again during which network broke down. In this way it will transfer all the files from serverA to serverB


#! /bin/sh

exec < /girish/server # server file will contain only ip address of the other server
read IP

for file in `ls -1`
do

while true
do

var=`ping $IP | cut -d " " -f3`
if [ $var = "alive" ]
then

echo "lcd /export/home/user1 \n cd /girish \n mput $file \n bye" | sftp -B 131072 -v $IP 1>sftp1.log 2>sftp2.log
grep -i Uploading sftp1.log >>/girish/output1
grep -i transfer sftp2.log >>/girish/output2

echo "lcd /amit \n cd /girish \n mget $file \n bye" | sftp -B 131072 -v $IP 1>sftp3.log 2>sftp4.log
grep -i Uploading sftp3.log >>/girish/output3
grep -i transfer sftp4.log >>/girish/output4

var1=`cmp /export/home/user1/$file /amit/$file`

if [ -z var1 ]
then
break
else
sleep 60
fi

else
sleep 60
fi

done ( for closing while loop )

done ( for closing for loop)
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Correct Syntax For Calling Shell Script in Perl Module

Problem: I have a shell script that will be called by a Perl module that will connect to a db and delete rows. The Perl module will be called by CRON. I am using a Perl module to call a shell script because I need to get the db connection from Perl. Here is the Perl pseudocode: ... (4 Replies)
Discussion started by: mh53j_fe
4 Replies

2. Shell Programming and Scripting

plz correct this

grep pattern a.log|grep -e "p1" |cut -d":" -f1,2,3,4,8,9,10|cut -d"/" -f5 -e "p2" |cut -d":" -f1,2,3,4,6|cut -d"/" -f5 >> file Dont know why the above command isnt working :-( can someone correct me... (8 Replies)
Discussion started by: wannalearn
8 Replies

3. Shell Programming and Scripting

Correct the error plz

Hi, I'll get a file whose first line comprises of system name, timestamp of file creation and the seq number. System name and seq num I need to other computation. My requirement is, I'll have to check whether the timestamp is greater than current timestamp and also check if the timestamp is... (2 Replies)
Discussion started by: Mandab
2 Replies

4. Shell Programming and Scripting

plz help me by creating required shell script

Dear all I am new to shell script. And this is my first post to this site as well as this forum. I would like to tell this forum that I require shell script, which is regarding transfers of files from a specific directory in a server A to server B on a specific directory through sftp command.... (5 Replies)
Discussion started by: girish.batra
5 Replies

5. Shell Programming and Scripting

shell script to call other files..plz help

Hi all, I have a number of shell script,perl script.. etc in a directory,which i need to execute in some order.Now i need to create a script to call all these files in that order..so that the new script will execute all the files one by one....plz help this is urgent. Thanks In advance Anju (3 Replies)
Discussion started by: anju
3 Replies

6. UNIX for Dummies Questions & Answers

Shell Script Help Plz

####################################################################### # #This script will perform the menu such as : list file, change catalog, #file check, # #This script was written in UNIX Shell Programming Language #... (3 Replies)
Discussion started by: shekhani
3 Replies

7. Shell Programming and Scripting

i'm new to shell can handle this script for me plz

Write a shell script named displayargs that prints FOUR lines. The first line tells the name that was used to invoke the script, the second line tells how many parameters there were, the third line tells what the last parameter was, and the fourth line tells what the first parameter was. For... (8 Replies)
Discussion started by: kedah160
8 Replies

8. UNIX Desktop Questions & Answers

Correct syntax

Hi, I want to check if file(s) exist even in subdirectories and perform an action. After searching here couldn't find solution that would work, but made my own solution that works fine: if then echo egrep "$1|$2|$3" `find| grep MLOG` else echo "MLOG does not exist" fiThat will check... (1 Reply)
Discussion started by: Vitoriung
1 Replies

9. Shell Programming and Scripting

Do syntax is correct ?

I tried with sed command to create a space between namespace from the XML file. I used this syntax. Can someone tell me is this syntax is vaild? /usr/xpg4/bin/sed -e 's/<\/^.*><^.:Errort>/<\/^.*> <^.:Errort>/g' test > test2 I dint find any changes or any space being created between... (10 Replies)
Discussion started by: raghunsi
10 Replies

10. Shell Programming and Scripting

Shell script to correct the data

Hi, I have below data in my flat file.I would like to remove the quotes and comma necessary from the data.Below is the details I would like to have in my output. Could anybody help me providing the Unix shell script for this. Input : ABC,ABC,10/15/2012,"47,936,164.567 ","1,036,997.453... (2 Replies)
Discussion started by: sonu_pal
2 Replies
nisping(1M)															       nisping(1M)

NAME
nisping - send ping to NIS+ servers SYNOPSIS
/usr/lib/nis/nisping [-uf] [-H hostname] [-r | directory] /usr/lib/nis/nisping -C [-a] [-H hostname] [directory] In the first line, the nisping command sends a ``ping'' to all replicas of an NIS+ directory. Once a replica receives a ping, it will check with the master server for the directory to get updates. Prior to pinging the replicas, this command attempts to determine the last update "seen" by a replica and the last update logged by the master. If these two timestamps are the same, the ping is not sent. The -f (force) option will override this feature. Under normal circumstances, NIS+ replica servers get the new information from the master NIS+ server within a short time. Therefore, there should not be any need to use nisping. In the second line, the nisping -C command sends a checkpoint request to the servers. If no directory is specified, the home domain, as returned by nisdefaults(1), is checkpointed. If all directories, served by a given server, have to be checkpointed, then use the -a option. On receiving a checkpoint request, the servers would commit all the updates for the given directory from the table log files to the data- base files. This command, if sent to the master server, will also send updates to the replicas if they are out of date. This option is needed because the database log files for NIS+ are not automatically checkpointed. nisping should be used at frequent intervals (such as once a day) to checkpoint the NIS+ database log files. This command can be added to the crontab(1) file. If the database log files are not checkpointed, their sizes will continue to grow. If the server specified by the -H option does not serve the directory, then no ping is sent. Per-server and per-directory access restrictions may apply; see nisopaccess(1). nisping uses NIS_CPTIME and NIS_PING (resync (ping) of replicas), or NIS_CHECKPOINT (for checkpoint). Since the NIS_PING operation does not return a status, the nisping command is typically unable to indicate success or failure for resyncs. -a Checkpoint all directories on the server. -C Send a request to checkpoint, rather than a ping, to each server. The servers schedule to commit all the transactions to stable storage. -H hostname Only the host hostname is sent the ping, checked for an update time, or checkpointed. -f Force a ping, even though the timestamps indicate there is no reason to do so. This option is useful for debugging. -r This option can be used to update or get status about the root object from the root servers, especially when new root replicas are added or deleted from the list. If used without -u option, -r will send a ping request to the servers serving the root domain. When the replicas receive a ping, they will update their root object if needed. The -r option can be used with all other options except with the -C option; the root object need not be checkpointed. -u Display the time of the last update; no servers are sent a ping. -1 No servers were contacted, or the server specified by the -H switch could not be contacted. 0 Success. 1 Some, but not all, servers were successfully contacted. Example 1: Using nisping This example pings all replicas of the default domain: example% nisping Note that this example will not ping the org_dir and groups_dir subdirectories within this domain. This example pings the server example which is a replica of the org_dir.foo.com. directory: example% nisping -H example org_dir.foo.com. This example checkpoints all servers of the org_dir.bar.com. directory. example% nisping -C org_dir.bar.com. NIS_PATH If this variable is set, and the NIS+ directory name is not fully qualified, each directory specified will be searched until the directory is found. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWnisu | +-----------------------------+-----------------------------+ crontab(1), nisdefaults(1), nisopaccess(1), nislog(1M), nisfiles(4), attributes(5) NIS+ might not be supported in future releases of the SolarisTM Operating Environment. Tools to aid the migration from NIS+ to LDAP are available in the Solaris 9 operating environment. For more information, visit http://www.sun.com/directory/nisplus/transition.html. 12 Dec 2001 nisping(1M)
All times are GMT -4. The time now is 06:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy