Sponsored Content
Top Forums Shell Programming and Scripting Trigger the execution of a script on SFTP Disconnect Post 302971667 by jgt on Saturday 23rd of April 2016 10:57:53 AM
Old 04-23-2016
I have used variations of this code for over 10 years.

Code:
put abcdefgh.ltr /u2/email/temp
put abcdefgh.mmo /u2/email/temp
put abcdefgh.job /u2/email/requests

Code:
#!/bin/ksh                                                                
BATCH=$1                                                                  
proc=$$                                                                   
if [ -r /u2/email/$BATCH.pid ]                                            
then                                                                      
        echo Previous job still running `cat /u2/email/$BATCH.pid`        
        exit                                                              
fi                                                                        
echo $proc >/u2/email/$BATCH.pid                                          
echo  $proc `date +"%Y%m%d %H%M%S"` >/u2/email/$BATCH.pidhistory          
cd /u2/email                                                              
list=`ls requests|grep $BATCH`                                            
if [ "$list" != "" ]                                                      
        then                                                              
        for request in $list                                              
        do                                                                
        echo $request `date`                                              
        IFS="~"                                                           
        cat requests/$request | read  user email subject memo attachments 
        IFS=" "                                                           
        cd /u2/email/temp                                                 
        #do all the processing here                                       
        cd /u2/email                                                      
        mv /u2/email/temp/$req* done                                      
        mv /u2/email/requests/$request done                               
        if [ ! -r /u2/email/$BATCH.pid ]                                  
        then                                                              
                echo Job terminated manually `cat /u2/email/$BATCH.pid`   
                exit                                                      
        fi                                                                
        done                                                              
fi                                                                        
rm /u2/email/$BATCH.pid

We use 8.3 file names.
The file name extension for files in the request directory is used to create different queues: job for regular processing, ovn for overnight, rsh for rush. There is a separate cron job for each extension.
The process can be stopped by manually removing the pid file.
If a previous pid file exists, this does not necessarily mean that the previous invocation failed. It could be that there were more jobs to process than could be processed in the interval between invocations.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script call from a DB trigger

Has anybody been able to execute a shell script call from a database trigger? If so what are the steps to execute it? Do we have any specific packages in Oracle? Reards, Rahul. (1 Reply)
Discussion started by: rahulrathod
1 Replies

2. Shell Programming and Scripting

Check if trigger Script is running

HI, I have a script which will be running all the time...it is like a trigger.. wakesup every 10 minutes(trigger.sh) executes, and I want to write another script which monitors this script every one hour and if it finds that trigger script is not running it should start it and exit...and here... (9 Replies)
Discussion started by: mgirinath
9 Replies

3. UNIX for Dummies Questions & Answers

Can we trigger an shell script on an event

Hi, My program A updates a log called logA. I have a shell script S that is responsible to send emails reading from the log. I want to trigger execution of the script whenever there is an update to the log. Thanks in advance. (8 Replies)
Discussion started by: cv_pan
8 Replies

4. Shell Programming and Scripting

vpn connect/disconnect shell script

Hi I am not so good in scripting..trying ot learn it...need guidance of the experts in shell scripting.. Let me explain the scenario first.. a server MX1 is connected to another server MX2 through vpn..every 5 minute a script runs to test vpn connectivity between the 2 servers.when the vpn... (12 Replies)
Discussion started by: renuka
12 Replies

5. UNIX for Dummies Questions & Answers

Trigger execution of commands whenever number of file descriptors changes

Hi, I am a Unix Newbie :D. I want to write a program such a way that: Whenever number of filedescriptors opened by a process change, it should execute some commands (eg: write total number of FDs at that point of time to a file). I dont want to poll '/proc/<pid>/fd' at regular intervals... (3 Replies)
Discussion started by: poweruser
3 Replies

6. UNIX for Dummies Questions & Answers

How to disconnect telnet prompt with port no in script.

Hi Gurus, I am trying to write a script for checking the status of linux servers by connecting via telnet with port no but to terminate i have to manually type "quit" .how can i terminate the telnet session in script itself.For E.g ========================================= telnet ipaddress... (3 Replies)
Discussion started by: kapil514
3 Replies

7. Shell Programming and Scripting

Connect once db disconnect after all execution

Hi All, Please see the below code. it is working fine when in 'test_file' have only one emplid. test_file contains only emplid and date, like below ... 0000221|1/12/2003 0000223|1/1/1996 Problem :- when test_file contains more then one records(emplids) it is not giving any errors... (3 Replies)
Discussion started by: krupasindhu18
3 Replies

8. Shell Programming and Scripting

Automatic script trigger

Hi, I'm looking for a way to solve the following scenario: A shell should automatically trigger / run when a text file is placed or present at a specific location. My idea - to create a cron / anacron for every minute and inside that i will call a temp script. Temp script will move to my... (9 Replies)
Discussion started by: Gautham
9 Replies

9. Shell Programming and Scripting

To trigger script on particular instance

Hi Guys, I have a main_script.sh which runs every day and scheduled in crontab. in the main script i read data from config file test.config apple mango orange main_script.sh for i in `cat test.config` do if then echo 'Apple' (3 Replies)
Discussion started by: Master_Mind
3 Replies

10. Shell Programming and Scripting

Trigger script based on condition

Hi Guys, I am having below code which runs based on condition, Is it possible to check condition at the time of trigger code=$1 if ;then nohup sh script.sh $val 1 & fi I need to trigger if the $code = JP then only to trigger nohup sh script.sh $val 1 & My try but wanted... (4 Replies)
Discussion started by: Master_Mind
4 Replies
libssh2_sftp_unlink_ex(3)					  libssh2 manual					 libssh2_sftp_unlink_ex(3)

NAME
libssh2_sftp_unlink_ex - unlink an SFTP file SYNOPSIS
#include <libssh2.h> #include <libssh2_sftp.h> int libssh2_sftp_unlink_ex(LIBSSH2_SFTP *sftp, const char *filename, unsigned int filename_len); int libssh2_sftp_unlink(LIBSSH2_SFTP *sftp, const char *filename); DESCRIPTION
sftp - SFTP instance as returned by libssh2_sftp_init(3) filename - Path and name of the existing filesystem entry filename_len - Length of the path and name of the existing filesystem entry Unlink (delete) a file from the remote filesystem. RETURN VALUE
Return 0 on success or negative on failure. It returns LIBSSH2_ERROR_EAGAIN when it would otherwise block. While LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se. ERRORS
LIBSSH2_ERROR_ALLOC - An internal memory allocation call failed. LIBSSH2_ERROR_SOCKET_SEND - Unable to send data on socket. LIBSSH2_ERROR_SOCKET_TIMEOUT - LIBSSH2_ERROR_SFTP_PROTOCOL - An invalid SFTP protocol response was received on the socket, or an SFTP operation caused an errorcode to be returned by the server. SEE ALSO
libssh2_sftp_init(3) libssh2 0.15 1 Jun 2007 libssh2_sftp_unlink_ex(3)
All times are GMT -4. The time now is 10:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy