Sponsored Content
Top Forums Shell Programming and Scripting Backup script using Korn Flow Control Post 302567252 by agama on Sunday 23rd of October 2011 01:18:53 PM
Old 10-23-2011
Simple fix: add an exit 1 after the sendto command so that the script will exit at that point. You'll also want to add one at the bottom of your other else block. It also never hurts to add an exit 0 at the end of the script.

Other things....
First, when testing for equality within [[ and ]] use a double equal and not a single equal. The single equal sign will work, but it's use is discouraged as Kshell might not support it in future releases.

I am also leery that your test for remote host availability will actually work. Ping, at least on my Linux and FreeBSD hosts, will always generate output to stdout and thus your pinger variable will never be empty and thus the -z $pinger will never be true. I would suggest this change:

Code:
ping -c 1 $remote-host >/dev/null 2>&1
ping_stat=$?      # 0 for success; non-zero for failure

if (( $ping_stat == 0 )) && [[ $id_check == "root" && -d $backup_dir &&  $results == "full" ]]

This will test the success of the ping based on the return code and not the presence of any text written to stdout.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

how to assign correct control flow?

how can i create a script with a correct control flow/loop(?) to provide output from 3 files? file1 one two three file2 yellow red orange file3 banana apples cantaloupes output file: one (1 Reply)
Discussion started by: apalex
1 Replies

2. Shell Programming and Scripting

Tape backup control

Hi all I have a requirement to ensure I do not overwrite a tape that is current. The way in which I propose doind this is by placing a header file at the beginning of the tape containing the creation date of the backup. Before each backup, I will read this file and validate. My question is as... (4 Replies)
Discussion started by: jhansrod
4 Replies

3. Programming

dilemma in control flow

hello im facing a queer problem when i execute the foll code in unix # include <stdio.h> # include <unistd.h> main(int argc,char *argv) { FILE *fp = fopen("/ras/chirag/fifotest/file.fifo","a"); int i=1; fprintf(fp,argv); printf("I SLEEP"); system("date"); for (i=0;i<50;i++)... (2 Replies)
Discussion started by: tej.buch
2 Replies

4. IP Networking

Disabling 802.3x flow control

I have a server I would like to disable 802.3x flow control on. The host is Linux (CentOS 4.4 x86_64 w/ 2.6.9-42.0.3.EL kernel,) and I'm using the ns83820 driver for the ethernet interface in question. I've tried looking at the driver parameters (modinfo ns83820) and using ethtool (ethtool -a... (0 Replies)
Discussion started by: LivinFree
0 Replies

5. UNIX for Advanced & Expert Users

Script should flow after ftp --Urgent

Hi everyone, The script actually does the ftp and gets the file to the local system. I want to do some manipulations for that file , But after doing ftp , script is not proceding and just a prompt is displayed . .... ftp code here...... .................... ............... echo "FTP... (4 Replies)
Discussion started by: kaaakrishna
4 Replies

6. Shell Programming and Scripting

Python script - control flow statements

Hi guys.I'm just beginner of python. I'm just trying to do some analysis on simple input file. it has 6 columns and i want to consider k,l and m,n if i and j are + after that checking which value is greater or lower in k,l and m,n I have included logic header just to explain what I was... (4 Replies)
Discussion started by: repinementer
4 Replies

7. Shell Programming and Scripting

Flow Control in CSH

hi , I am new to scripting, i have a doubt can any one pls solve it for me the code is not working set users = (user1 user2 user3) echo The users are echo $users echo Enter the USER NAME set USER_NAME = $< set i = 1; for ( i = 1; i <= $#users; i++ ) if ( $USER_NAME == $users )... (1 Reply)
Discussion started by: Manju87
1 Replies

8. Shell Programming and Scripting

Ampersand not giving back the control (Korn shell)

OS version : AIX 6.1 Shell : Korn When you 'postfix' a command with ampersand (&) , it is supposed to run in the background and give you back the control. I tested this with ping command (by default it pings every 1 second ) After I ran the below ping command with ampersand, I pressed... (3 Replies)
Discussion started by: polavan
3 Replies

9. Shell Programming and Scripting

Help with control flow in a Bash script

In my bash script I want to say "if argument 2 is anything except x, y or z, than echo this" (x y and z being words). So my script looks like this: if ] then echo "unrecognized input: $2" fi This usually works but than I also want to say "if argument 2 IS x, y, or z, but argument 4 is... (4 Replies)
Discussion started by: Jrodicon
4 Replies

10. UNIX for Dummies Questions & Answers

Flow control state changed in server logs

Hi, We observe below logs from switch - the database servers rebooted becaause they couldn't do I/O on vfiler -Any pointers looking at below logs please? Switch logs: 2016 Apr 30 07:41:16.729 EAG-ECOM-POD111GPU-SWF1 %ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet152/1/8 is down (Link... (0 Replies)
Discussion started by: admin_db
0 Replies
RDS-PING(1)						    BSD General Commands Manual 					       RDS-PING(1)

NAME
rds-ping -- test reachability of remote node over RDS SYNOPSIS
rds-ping [-c count] [-i interval] [-I local_addr] remote_addr DESCRIPTION
rds-ping is used to test whether a remote node is reachable over RDS. Its interface is designed to operate pretty much the standard ping(8) utility, even though the way it works is pretty different. rds-ping opens several RDS sockets and sends packets to port 0 on the indicated host. This is a special port number to which no socket is bound; instead, the kernel processes incoming packets and responds to them. OPTIONS
The following options are available for use on the command line: -c count Causes rds-ping to exit after sending (and receiving) the specified number of packets. -I address By default, rds-ping will pick the local source address for the RDS socket based on routing information for the destination address (i.e. if packets to the given destination would be routed through interface ib0, then it will use the IP address of ib0 as source address). Using the -I option, you can override this choice. -i timeout By default, rds-ping will wait for one second between sending packets. Use this option to specified a different interval. The timeout value is given in seconds, and can be a floating point number. Optionally, append msec or usec to specify a timeout in milliseconds or microseconds, respectively. Specifying a timeout considerably smaller than the packet round-trip time will produce unexpected results. AUTHORS
rds-ping was written by Olaf Kirch <olaf.kirch@oracle.com>. SEE ALSO
rds(7), rds-info(1), rds-stress(1). BSD
Apr 22, 2008 BSD
All times are GMT -4. The time now is 04:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy