File not getting created

hi,

i have a script wrriten where there is a temporary files getting created:

echo "From:" ${usrname}@apps.mc.xerox.com>mail_txt

it was working from a long time but now there is a error creating while creating this temporary file. here is the error log for this:

/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[252]: mail_txt: cannot create

but if i am using the same command "

echo "From:" ${usrname}@apps.mc.xerox.com>mail_txt

" at unix prompt then file is getting created manually...

please suggest what could be the issue and why the file won't be getting creating through the script????

1) In which directory were you when you ran the script ?
2) What are the right & owner of the directory you were in when you ran the script ?
3) With which user did you run the script ?
4) What are the owner and rights of the script you ran ?
5) If we cannot help you with the following infos, it means that we need more clue about the code you ran.

as i don't know much about the scripting but here is what i have got

bash-3.2$ ls -ltr bravometerview.ksh
-rwxr-xr-x   1 bravodba bravodba    7515 Jan 15 05:44 bravometerview.ksh

the script is schduled in the crontab, rights are as above and owner of the directory is root and i am also login through root when i echo the message and created file at the same time....

---------- Post updated at 04:37 PM ---------- Previous update was at 04:34 PM ----------

could there be any storage issue ??

In which directory is the file mail_txt supposed to be created ?

Please also provide the output of ls -ld /uv1402/u207/home/bravodba/bestdbscript/shscriptfiles

in the same directory where the .ksh file exists and at last we are using rm to remove that temporary file. here is the code:

### Send mail of extract process completion

echo "`date`> Send mail of extract process completion... \n "

echo "From:" ${usrname}@apps.mc.xerox.com>mail_txt
#echo "To:" vikas.kumar2@xerox.com>> mail_txt
echo "To:" USA.XCS.BILLING.COE.BIRLA.IT.TEAM@xerox.com >> mail_txt
echo "Subject:" BRAVO View Extract process completed on $(hostname) - `date +"%m%d%Y"` >> mail_txt
echo "Mime-Version: 1.0" >> mail_txt
echo "Content-Type: text/plain" >> mail_txt
echo Automated UNIX system message from ${usrname} >> mail_txt
echo "" >> mail_txt
mailx -t < mail_txt
rm mail_txt

and here is the log which we are getting:

Wed Mar  6 06:00:25 EST 2013> Send mail of extract process completion...

/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[252]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[254]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[255]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[256]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[257]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[258]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[259]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[260]: mail_txt: cannot open
mail_txt: No such file or directory

there can be four logical points leading to this error--
1)space issue
2)permission of file
3)wrong location
4)wrong user

Please verify these points and the issue should get solved.

Your script raise an error while running line 252.
We cannot guess what your script if doing before arriving to that line.

insert the command ls -ld $(pwd) just before the line 252 and let us know what it shows.

Check if you have a filesystem full :
what gives a df -h ?

i have inserted the command ls -ld $(pwd) and i'll share the result by tommorow because i cant run this script by my own, its scheduled in crob for daily basis

and storage space is not full, i have just verified.

did you check if the parent directory *do* exist?

yes, everything is normal.

bash-3.2$ ls -ld $(pwd)
drwxr-xr-x   3 bravodba bravodba      24 Mar  7 06:36 /uv1402/u207/home/bravodba/bestdbscript/shscriptfiles

hi,

here is what i have got :

drwxr-xr-x  33 65808    dba           87 Jan 25 11:30 /uv1402/u207/home/bravodba
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[252]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[254]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[255]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[256]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[257]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[258]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[259]: mail_txt: cannot create
/uv1402/u207/home/bravodba/bestdbscript/shscriptfiles/bravometerview.ksh[260]: mail_txt: cannot open
mail_txt: No such file or directory
Mon Mar 11 05:59:38 EDT 2013> END : BRAVO Meter View extract script...

after inserting the follwoing command before line 252:
ls -ld $(pwd)

please share

stat mail_txt

or

ls -ltr mail_txt

Did you notice the owner (65808) of pwd does not exist anymore? Not sure how this will influence the creation of files two levels down...

hi all,

issue got resolved, user bravodba was somehow lacking file creation priviliege, which has been given now and the script is working properly.

BTW you can avoid the temp file at all:

### Send mail of extract process completion

echo "`date`> Send mail of extract process completion... 
 "

# collect stdout from a sub shell:
(
echo "From:" ${usrname}@apps.mc.xerox.com
#echo "To:" vikas.kumar2@xerox.com
echo "To:" USA.XCS.BILLING.COE.BIRLA.IT.TEAM@xerox.com
echo "Subject:" BRAVO View Extract process completed on $(hostname) - `date +"%m%d%Y"`
echo "Mime-Version: 1.0"
echo "Content-Type: text/plain"
echo Automated UNIX system message from ${usrname}
echo ""
) | # and pipe stdout to
 mailx -t

that's so helpful, but i am not allowed to make changes into the script...

once again thanks all for your help, it was my first ever post on this forum and i appriate the responses which i got from here....:o