This is my first posting here, I haven't found exactly what I'm looking for anywhere else so I'm hoping you all can help. I have a portion of script here that needs to ping two servers, then return whether they are up or down (somehow), and then echo that information. Here is what I have so far. It does echo up/down, but the information doesn't change regardless of the ping success.
Not quite true. It does change: 2 up, 0 down, if the last ping fails, 1 up, 1 down, if it succeeds.
There seems to be one basic misunderstanding: the $? variable represents the exit code of the last command executed; the before last's is overwritten. So your first ping's result is lost. So, you need to evaluate it after each ping, e.g. with another if construct. Doable, but tedious and ineffective.
How about a different approach? Collect the respective exit codes, and do some math afterwards? Like
The -q is redundant if you redirect output to /dev/null. I introduced the -W timeout option to reduce execution / waiting time.
can someone pls help me with the script for a files coming from one system to a particular directory and i want to write a script to move those files to another directory on different system by renaming the files...
pls someone help me on this...
thanking in anticipation.... (1 Reply)
hi ,
i have problem that i can't ping machine , machine is in running state but i can't access or ping it .. but when i restarts that machine it works fine.
can anybody have an idea abou this problem ..
thanks (1 Reply)
Hi
How to call a shell scripting through a Perl scripting? Actually I need some value from Shell scripting and passes in the Perl scripting. So how can i do this? (2 Replies)
Hi all,
I would like to start developping some good scripting skills. Do you think it would be best to start with shell scripting or Perl? I already got a fundation, really basics, in perl. but I am wondering what would be best to be good at first.
Can you please help me determine which one to... (14 Replies)
Gents,
I have been working in a Solaris/Unix environment for about 9 months. I took some linux classses online before getting the job. But, I am not very good at scripting. I want to learn how to script. Do you think that I should start with Shell scripting or Perl? I wanted to continue with... (2 Replies)
Hi,
I develop simple animation ping script on Solaris Platform. It is like Cisco ping.
Examples and source code are below.
bash-3.00$ gokcell 152.155.180.8 30
Sending 30 Ping Packets to 152.155.180.8
!!!!!!!!!!!!!.!!!!!!!!!!!!!!!.
% 93.33 success... % 6.66 packet loss...... (1 Reply)
Hi
I am using perl to ping a list of nodes - with script below :
$p = Net::Ping->new("icmp");
if ($p->ping($host,1)){
print "$host is alive.\n";
}
else {
print "$host is unreacheable.\n";
}
$p->close();... (4 Replies)
This is the script I already have but I have problems with two arguments
the first argument -t , I want to count 200 by the last digit of the IP address for example when I run the script ./ping.sh -t 17, the output would be192.168.0.217 is upThe second arguments --up won't work. Could anybody... (1 Reply)
help with bash script!
im am working on this script to make sure my server will stay online, so i made this script..
HOSTS="192.168.138.155"
COUNT=4
pingtest(){
for myhost in "$@"
do
ping -c "$COUNT" "$myhost" &&return 1
done
return 0
}
if pingtest $HOSTS
#100% failed... (4 Replies)
Discussion started by: mort3924
4 Replies
LEARN ABOUT SUNOS
nisping
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)