Sponsored Content
Full Discussion: Help with Korn Shell script
Operating Systems AIX Help with Korn Shell script Post 93440 by heprox on Monday 19th of December 2005 01:01:27 PM
Old 12-19-2005
Question Help with Korn Shell script

I have this Korn shell script that runs via a cron entry. It runs in a loop "watching" a specific file system for files with a certain name. The file system that it is watching is an upload file system for an FTP server. When files that are the correct name come in, it takes the extension of the file and runs several other scripts against the file with the extension as a vairable. The script looks like:

Code:
#!/bin/ksh
 
#
# Function : is_file_arrived file
# Arg(s)   : file = file to verify
# Output   : None
# Status   : 0 = yes file arrived, 1 = no
# Env.     : IFA_WAIT : interval (secs) for file size check (def=5)
#
 
is_file_arrived() {
   [ -z "$1" ] && return 1
   local file=$1
   local arrived=1
   local size1 size2
   if [ -f "$file" -a -z "$(fuser $file 2> /dev/null)" ] ; then
      size1=$(ls -l $file 2>/dev/null | awk '{print $5}')
      sleep ${IFA_WAIT:-15}
      size2=$(ls -l $file 2>/dev/null | awk '{print $5}')
      [ ${size1:-1} -eq ${size2:-2} ] && arrived=0
   fi
   return $arrived
}
 
 
processFile ()
{
   local fileName=$1
   local fileExtension=$2
   local fileNewName="/ftp/datafiles/str${fileExtension}.asc"
   local filePrintPath="/ftp/print"
   local fileTmpPath="/ftp/tmp"
   local fileODIName="str${fileExtension}.pos"
   mv -Eignore $fileName $fileNewName      # Add status check
   prepup $fileNewName $fileExtension
   mv -Eignore  $filePrintPath/$fileODIName $fileTmpPath/$fileODIName
   save2tmp $fileExtension
   call_siu $fileExtension
}
 
# Main Processing
 
nsec=1
#hile :
while [[ "$(date +%H%M)" -lt 2329 ]]
do
   for fileName in /ftp/datafiles/UPLOAD.[0-9][0-9][0-9][0-9]
   do
      fileExtension=${fileName#*.}
      is_file_arrived "$fileName" && nsec=1 && processFile $fileName $fileExtens
ion
   done
   sleep $nsec
   case $nsec in
      1)   nsec=15;;
      15)  nsec=45;;
      45)  nsec=90;;
      90)  nsec=300;;
      300) nsec=600;;
      600) nsec=900;;
      *)   nsec=1800;;
   esac
done

... the problem is that I keep getting files that are "stuck" in the /ftp/datafiles file system. The log from the crontab states that these files have the incorrect permission for the script to process them? The wierd thing is that it happens after the script initially renames them to "str####.asc" so the cron user (which has permissions to the filesystem and the files intially) was able to rename them? The log looks like:

Code:
+ is_file_arrived /gers/genret/datafiles/UPLOAD.0043
+ nsec=1
+ processFile /gers/genret/datafiles/UPLOAD.0043 0043
mv: 0653-401 Cannot rename /gers/genret/print/str0043.pos to /gers/genret/tmp/str0043.pos:
             A file or directory in the path name does not exist.
mv: /gers/genret/datafiles/str0043.asc: The file access permissions do not allow
 the specified action.

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

korn shell script

hello., i have 2 files.. 1 file is in this folder /home/test/ssk/DSA.WLG.20050713211544.20050710.20050713211544 (this part) other file is in this folder /home/kk/dev/DSA.WLG.20050711210100.20050710.20050711210100 ... (1 Reply)
Discussion started by: pavan_test
1 Replies

2. UNIX Desktop Questions & Answers

korn shell script

hi all i am writing the korn shell script. i have a SQL script which gives me the folowing output DSA.WLG.20050713211544.20051025.20050713211544 28991 1130198400 DSA.WLG.20050713211544.20051025.20050713211544 25881 1130198400 DSA.WLG.20050711210100.20051025.20050711210100 25881 ... (3 Replies)
Discussion started by: pavan_test
3 Replies

3. Shell Programming and Scripting

Korn Shell script not running

I am sorry, this is really trivial, yet I am not able to understand what the problem is! I am using korn shell and running this script #!/bin/ksh keep=3 while ; do echo $keep keep=$(($keep-1)) done I am getting this error: `keep=$' unexpected I am not able to understand it because ... (1 Reply)
Discussion started by: Asty
1 Replies

4. Shell Programming and Scripting

Korn shell interactive script

Hi, How can I prompt a user for two input and pass the input to variables in the script. I have the following script but it is not working: +++++++++Begin+++++++++++ #!/bin/sh database_c=$1 output_f=$2 echo "Your db is $1\nOutput is $2" +++++++++End+++++++++++ Thanks, Leonard (3 Replies)
Discussion started by: leonard905
3 Replies

5. Shell Programming and Scripting

Korn Shell Script

I have to solve some exercises in Korn Shell, but i'm having some problems. For example: Write a korn shell script with an alfanumeric string as argument. The script lists the file's names in the current directory that contain the given string as substring and that can be read and written. I... (3 Replies)
Discussion started by: burm
3 Replies

6. Homework & Coursework Questions

Korn Shell Script

1. The problem statement, all variables and given/known data: Write a korn shell script with an alfanumeric string as argument. The script lists the file's names in the current directory that contain the given string as substring and that can be read and written. 2. Relevant commands, code,... (3 Replies)
Discussion started by: burm
3 Replies

7. Shell Programming and Scripting

korn shell script guidance

Please look over my short comings during this line if questions. I have multiple lines in a file that look like, phycook 618722 1 76 12:15:13 pts/122 70:24 /4js/runtime2.02.10/lib/fglrun-bin initmenu.42r phycook 593484 1 65 12:15:18 pts/122 69:22... (3 Replies)
Discussion started by: juredd1
3 Replies

8. Shell Programming and Scripting

pass null value to sql script from korn shell script

There are 4 parameters that I have to pass from korn shell to sql script. 1) I have to check if $1 , $2 , $3 and $4 are null values or not . How can I do that ? 2) Once its determined that these values are null (in the sense they are empty) how can I pass null values to sql script... (11 Replies)
Discussion started by: megha2525
11 Replies

9. Shell Programming and Scripting

Need urgent help with korn shell script

Hi All, Need urgent help with korn shell script, which monitors AIX WPARs Status. Basically WPARs run on a LPAR, So there is a Command "lswpar" which displays WPARs status. This script should be checking the WPARs Status and email support if WPAR is down or broken. General lswpar output is as... (3 Replies)
Discussion started by: aix_admin_007
3 Replies

10. Shell Programming and Scripting

Help with improving korn shell script

I am primarily a SQA/Tester and new to korn shell. How can I improve the following script? #/bin/ksh SourceLocation=~/Scripts/Test/Source TrackerLocation=~/Scripts/Test/Tracker TargetLocation=rdbusse@rdbmbp:/Users/rdbusse/Scripts/Test/Target for file in $(cd $SourceLocation; ls) do ... (7 Replies)
Discussion started by: bayouprophet
7 Replies
csx_ModifyWindow(9F)					   Kernel Functions for Drivers 				      csx_ModifyWindow(9F)

NAME
csx_ModifyWindow - modify window attributes SYNOPSIS
#include <sys/pccard.h> int32_t csx_ModifyWindow(window_handle_t wh, modify_win_t *mw); INTERFACE LEVEL
Solaris DDI Specific (Solaris DDI) PARAMETERS
wh Window handle returned from csx_RequestWindow(9F). mw Pointer to a modify_win_t structure. DESCRIPTION
This function modifies the attributes of a window allocated by the csx_RequestWindow(9F) function. Only some of the window attributes or the access speed field may be modified by this request. The csx_MapMemPage(9F) function is also used to set the offset into PC Card memory to be mapped into system memory for paged windows. The csx_RequestWindow(9F) and csx_ReleaseWin- dow(9F) functions must be used to change the window base or size. STRUCTURE MEMBERS
The structure members of modify_win_t are: uint32_t Attributes; /* window flags */ uint32_t AccessSpeed; /* window access speed */ The fields are defined as follows: Attributes This field is bit-mapped and defined as follows: WIN_MEMORY_TYPE_CM Window points to Common Memory area. Set this to map the window to Common Memory. WIN_MEMORY_TYPE_AM Window points to Attribute Memory area. Set this to map the window to Attribute Memory. WIN_ENABLE Enable Window. The client must set this to enable the window. WIN_ACCESS_SPEED_VALID AccessSpeed valid. The client must set this when the AccessSpeed field has a value that the client wants set for the window. AccessSpeed The bit definitions for this field use the format of the extended speed byte of the Device ID tuple. If the mantissa is 0 (noted as reserved in the PC Card 95 Standard), the lower bits are a binary code representing a speed from the list below. Numbers in the first column are codes; items in the second column are speeds. 0 Reserved: do not use 1 250 nsec 2 200 nsec 3 150 nsec 4 100 nsec 5 - 7 Reserved: do not use It is recommended that clients use the csx_ConvertSpeed(9F) function to generate the appropriate AccessSpeed values rather than manually perturbing the AccessSpeed field. RETURN VALUES
"small and bold">CS_SUCCESS Successful operation. CS_BAD_HANDLE Window handle is invalid. CS_NO_CARD No PC Card in socket. CS_BAD_OFFSET Error getting/setting window hardware parameters. CS_BAD_WINDOW Error getting/setting window hardware parameters. CS_BAD_SPEED AccessSpeed is invalid. CS_UNSUPPORTED_FUNCTION No PCMCIA hardware installed. CONTEXT
This function may be called from user or kernel context. SEE ALSO
csx_ConvertSpeed(9F), csx_MapMemPage(9F), csx_ReleaseWindow(9F), csx_RequestWindow(9F) PC Card 95 Standard, PCMCIA/JEIDA SunOS 5.10 19 Jul 1996 csx_ModifyWindow(9F)
All times are GMT -4. The time now is 04:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy