Running function or command concurrently in a bash script
I currently run a script over a vpnc tunnel to back-up my data to a remote server. However for a number of reasons the tunnel often collapses. If I manually restore the tunnel then the whole thing can continue, but I want to add into my script a section whereby while the transfer is taking place, the system checks if the tunnel is still up and if not it resets it. I though I had it cracked (see below), but even though the $BREAK variablet change after the process code had run, it didn't escape the while loop so the script never ended. I therefore think I need a different way of doing it (by the way I am new to scripting so expect some ugly code).....
I am not asking someone to write this for me, but if you know of a function that I could use that would be most helpful..... Thanks in advance.....
Code:
function process ()
{
process code.....
BREAK=500
}
# ------------- the script itself --------------------------------------
BREAK=0
# First run Tunnel to get it up and running (a separate script).
Tunnel.sh
# Run process and the while loop at the same time.
process &
while [ $BREAK == 0 ]
do
Tunnel.sh #Re-establishes connection if required
sleep 15
done
Hi,
I was hoping someone would be able to help me out. I've got a Python script that I need to run 60 times concurrently (with the number added as an argument each time) via nightly cron. I figured that this would work:
30 1 * * * for i in $(seq 0 59); do $i \&; done
However, it seems to... (4 Replies)
In all of my brief and superficial experience with Unix or Linux, the one curious and consistent thing has been that 'cd ./' (back up one directory level) has done absolutely nothing in any of them. Now I understand that, at least for bash, 'cd ./' appears to have been substituted by 'cd ..'
Am... (1 Reply)
I'm working on a script (mostly for practice) to simplify a task I have to do every now and then. I have a cluster with 6 servers on it, each server has a directory with a set of files called *.pid and *.mpid. Each file contains the pid of a process that may or may not be running on that server.... (3 Replies)
Hi all,
I have one script. Its job is to get 1 file from dirA and 1 file from dirB as parameters for another python script.
However, there are a lot of files in both dir A and B, so running this scripts really takes a lot of time. So I wonder if there are any ways that I can do this faster,... (6 Replies)
I'm reading about debugging aids in bash and have come across the set command. It says in my little book that an addition to typing
set
you can also use them "on the command line when running a script..." and it lists this in a small table:
set -o option Command Line... (5 Replies)
I an using the below functions in my script.
---------
checkRT()
{
subHeader "Runtime Check"
for nn in `cat $HOST_FILE|egrep -i 'msdp|ca|backup|db'|grep -v '#'|sed '/^$/d'|awk '{ print $1":"$2":"$3}'`
do
fhba=`expr $nn|cut -d: -f2`
fhba2=`expr $nn|cut -d: -f3`
subSubHeader $fhba2
ssh... (1 Reply)
Hi All,
I have a cron job set up which is set to run every 10 seconds.
What I need to do is have the script do a check to see if it is already running such that if it is running it wont fire up additional instances and processes according to its normal process.
For example if I have a script... (4 Replies)
In the bash below, if the answer is "y" then goto function remove. If the answer is "n" then goto the id variable line (where the date is inputted). However, I am getting command remove not found, but remove is a function not an command. I must have the syntax incorrect? Thank you :).
... (3 Replies)
Hi all.
I need a bash script to run a function remotely. I think it should be similar to the following but can't figure out the exact syntax.
Here is the script:
#!/bin/bash
function nu ()
{
for var in {0..5}; do printf "$var, "; done; echo
}
ssh host "$(typeset -f); nu"
... (9 Replies)
Hi ,
I am a total beginner so bear with me.
I have the below code which works . I need to extend it by iterating thru the array arr and executing a command in each loop. some thing on the lines of below.
I need to run this in a Jenkins script , so I would need below
bash script to run... (6 Replies)
Discussion started by: SVRao19056
6 Replies
LEARN ABOUT FREEBSD
nos-tun
NOS-TUN(8) BSD System Manager's Manual NOS-TUN(8)NAME
nos-tun -- implement ``nos'' or ``ka9q'' style IP over IP tunnel
SYNOPSIS
nos-tun -t tunnel -s source -d destination -p protocol_number [source] target
DESCRIPTION
The nos-tun utility is used to establish an nos style tunnel, (also known as ka9q or IP-IP tunnel) using a tun(4) kernel interface.
Tunnel is the name of the tunnel device /dev/tun0 for example.
Source and destination are the addresses used on the tunnel device. If you configure the tunnel against a cisco router, use a netmask of
``255.255.255.252'' on the cisco. This is because the tunnel is a point-to-point interface in the FreeBSD end, a concept cisco does not
really implement.
Protocol number sets tunnel mode. Original KA9Q NOS uses 94 but many people use 4 on the worldwide backbone of ampr.org.
Target is the address of the remote tunnel device, this must match the source address set on the remote end.
EXAMPLES
This end, a FreeBSD box on address 192.168.59.34:
nos-tun -t /dev/tun0 -s 192.168.61.1 -d 192.168.61.2 192.168.56.45
Remote cisco on address 192.168.56.45:
interface tunnel 0
ip address 192.168.61.2 255.255.255.252
tunnel mode nos
tunnel destination 192.168.59.34
tunnel source 192.168.56.45
AUTHORS
Nickolay N. Dudorov <nnd@itfs.nsk.su> wrote the program, Poul-Henning Kamp <phk@FreeBSD.org> wrote the man-page. Isao SEKI
<iseki@gongon.com> added a new flag, IP protocol number.
BUGS
We do not allow for setting our source address for multihomed machines.
BSD April 11, 1998 BSD