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????
ctsgnb
March 7, 2013, 5:20am
2
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 ??
ctsgnb
March 7, 2013, 6:19am
4
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.
ctsgnb
March 7, 2013, 6:32am
7
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)
RudiC
March 12, 2013, 6:20am
13
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