Sponsored Content
Full Discussion: check for "cannot open file"
Top Forums UNIX for Dummies Questions & Answers check for "cannot open file" Post 302108435 by sb008 on Monday 26th of February 2007 01:36:07 PM
Old 02-26-2007
Quote:
Originally Posted by ssmith001
I have a small script that checks to see if a file exists and that it has data in it. I also need to check if the file can be opened. I had an issue today where the file it checks could not be opened and my script did not catch it. How do I check to see if it cannot be opened?

Code:
dirname=/opt/manu/srv
f1=manumgrmdip2_7500.log
f2=manumgrmdip2_7500.pid
export HOST=`hostname`
f1size=`wc -c $dirname/manumgrmdip2_7500.log | cut -f1 -d " "`
f2size=`wc -c $dirname/manumgrmdip2_7500.pid | cut -f1 -d " "`

if [[ ! -f $dirname/$f1 || ! -f $dirname/$f2 ]] ; then
      echo "Either <$dirname/$f1> or <$dirname/$f1> does not exist" | mailx -s "Missing files on Manugistics $HOST Server (MDIP2)" user@xyz.com
else if (( $(wc -c < $dirname/$f1) != 0 )) || (( $(wc -c < $dirname/$f2) > 6 )) ; then
      echo "The size of $dirname/$f1 size = $f1size, and $dirname/$f2 = $f2size'" | mailx -s "Error with file sizes on Manugistics $HOST Server (MDIP2)" user@xyz.com < manumgrmdip2_7500.log
     fi;
fi;


-r <filename> to check for existance and readability
-s <filename> to check for existance and size greater than 0

Code:
#!/usr/bin/ksh
dirname=/opt/manu/srv
f1=manumgrmdip2_7500.log
f2=manumgrmdip2_7500.pid
export HOST=`hostname`

if [ ! -r ${dirname}/${f1} -o ! -r ${dirname}/${f2} ]
then
  echo "Either <$dirname/$f1> or <$dirname/$f1> does not exist or is not readable" | mailx -s "Missing files on Manugistics $HOST Server (MDIP2)" user@xyz.com
elif [ ! -s ${dirname}/${f1} -o ! -s ${dirname}/${f2} ]
then
  echo "Either <$dirname/$f1> or <$dirname/$f2>has a filesize of 0'" | mailx -s "Error with file sizes on Manugistics $HOST Server (MDIP2)" user@xyz.com < manumgrmdip2_7500.log
fi

if you want to know the exact size use the typeset command so you don't need the cut command:

Code:
typset -i f1size f2size
f1size=`wc -c ${dirname}/${f1}`
f2size=`wc -c ${dirname}/${f2}`

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

check input = "empty" and "numeric"

Hi how to check input is "empty" and "numeric" in ksh? e.g: ./myscript.ksh k output show: invalid number input ./myscript.ksh output show: no input ./myscript.ksh 10 output show: input is numeric (6 Replies)
Discussion started by: geoffry
6 Replies

2. AIX

Probably an easy SMIT question- "Unable to open temp file"

Hi All, Can't find any documentation on the web for this anywhere, except about three web pages that are in Chinese. When I enter SMIT on this box, I get ERROR MESSAGE: Unable to open temp file I suspected smit.log, but it is universal readable, writeable by root, and I am root.... (6 Replies)
Discussion started by: jeffpas
6 Replies

3. SuSE

VMDB Failure" followed by "Unable to open snapshot file"

keep getting an error when I try to revert to a snapshot: "VMDB Failure" followed by "Unable to open snapshot file" Im using vmware server 1.0.4, host OS is windows xp and guest OS is SLES. Is there anything I can do to recover the snapshot or am I in trouble!?!?! (0 Replies)
Discussion started by: s_linux
0 Replies

4. Shell Programming and Scripting

"sed" to check file size & echo " " to destination file

Hi, I've modified the syslogd source to include a thread that will keep track of a timer(or a timer thread). My intention is to check the file size of /var/log/messages in every one minute & if the size is more than 128KB, do a echo " " > /var/log/messages, so that the file size will be set... (7 Replies)
Discussion started by: jockey007
7 Replies

5. Solaris

How to check "faulty" or "stalled" print queues - SAP systems?

Hi all, First off, sorry for a long post but I think I have no other option if I need to explain properly what I need help for. I need some advise on how best to check for "faulty" or "stalled/jammed' print queues. At the moment, I have three (3) application servers which also acts as print... (0 Replies)
Discussion started by: newbie_01
0 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. SCO

sco unix backward compatibility on "max open file per process"

Hi How to increase maximum number of open file in "sco xenix binary" running in "sco unix openserver 5.0.7" ? I have changed "NOFILES" kernel parameter to 512, but xenix binray can't open more than 60. tnx (4 Replies)
Discussion started by: javad1_maroofi
4 Replies

8. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

9. Shell Programming and Scripting

Expect: spawn id exp5 not open while executing "expect "$" { send "sudo su -\r" }"

Hi All, i am trying to ssh to a remote machine and execute certain command to remote machine through script. i am able to ssh but after its getting hung at the promt and after pressing ctrl +d i am gettin the out put as expect: spawn id exp5 not open while executing "expect "$" {... (3 Replies)
Discussion started by: Siddharth shivh
3 Replies

10. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
DIRNAME(1)							   User Commands							DIRNAME(1)

NAME
dirname - strip non-directory suffix from file name SYNOPSIS
dirname NAME dirname OPTION DESCRIPTION
Print NAME with its trailing /component removed; if NAME contains no /'s, output `.' (meaning the current directory). --help display this help and exit --version output version information and exit EXAMPLES
dirname /usr/bin/sort Output "/usr/bin". dirname stdio.h Output ".". AUTHOR
Written by David MacKenzie and Jim Meyering. REPORTING BUGS
Report dirname bugs to bug-coreutils@gnu.org GNU coreutils home page: <http://www.gnu.org/software/coreutils/> General help using GNU software: <http://www.gnu.org/gethelp/> COPYRIGHT
Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
basename(1), readlink(1) The full documentation for dirname is maintained as a Texinfo manual. If the info and dirname programs are properly installed at your site, the command info coreutils 'dirname invocation' should give you access to the complete manual. GNU coreutils 7.1 July 2010 DIRNAME(1)
All times are GMT -4. The time now is 08:04 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy