@msraham
Please tell us what Operating System and version you are running.
The "mailx m" is a kludge with MIME headers to make normal unix mail readable by non-standard mail readers such as M$ Outlook.
The absence of "-m" in your version of "mailx" just means we really need to know what O/S you have.
Btw. Do you know if you have unix "sendmail" available?
Btw. I have absolutely no idea where these messages come from.
Bearing in mind the parallel threads on this subject, please take two steps back and post the entire script, the call to that script, and the exact output from that script.
---------- Post updated at 01:40 ---------- Previous update was at 01:34 ----------
@scottn
The two loops were deliberate.
I have made a major cock-up by copying the O/Ps code into a tested construct.
---------- Post updated at 01:46 ---------- Previous update was at 01:40 ----------
@msraham
I have no idea why you removed the "ux2dos" command from the script I posted. This invalidates the command line.
If you do not have the "ux2dos" command (and bearing in mind that some unixes spell the command differently), please post what Operating System you are running because it is clearly not a mainstream commercial unix.
For me the mailx without the -m delivers the uuencode output as a body text blob not an attachment. Maybe there is a way to work around using sendmail, or an open source mailx with -m or other mail client or other attachment capabilities.
A mail message is just a pile of text, but the clients keep you out of the headers. I have cheated using mailx -s to stick a subject, linefeed and then an importance into the header, so I suppose you could stick a whole collection of files into the header, just by emulating the text of a mail message with attachments located before the body (why not?)! After all, encoded files have no quotes in the output, so $2 is just a very long string. I have written shell scripts to disassemble email with attached word and excel, with a little help from c base 64 decoder and open source word and excel decoders, so assembling should not be that hard.
Google showed me mutt and smtp-cli, which look pretty easy to use:
The following script does needs some enhancements,
I am loading 4 files at one stretch.
1) If any of the input file is not found or missing, the script should stop loading data for other files, and should send an email notification to the user.
2) Can we use a condition here in this script like
Do one x at a time (or parallel), except the email, and everywhere you say condition say ${x}. If you want to say CONDITION, you can put:
$( echo $x |tr '[a-z]' '[A-Z]' )
I just got a mutt binary and installed it, and JDK 6.22 at the same time. The right tool saves a ton of code. And non-root depot installs on on HPUX are tough.
I did some tweeking to the exisiting script.. and its working fine but not really... Please help..
The script below is for loading data from input file into the Oracle table.
There are 4 steps that it needs to go through, one after the other.
First Condition, then Encounter, then Procedure and then Provider.
From this script, "Condition" runs fine, and then it stops (end's).
Can anyone pls tell me as to what is wrong here with this script, that it should not stop, but continue to the next step.
#Condition
/usr/local/pl/util_scripts/perlencrypt.pl -k /export/home/oracle/secure/ealgorithm -d /sdr1/system/$pwd_file | sqlldr $userName control=/space/dbex
port/PHR/control/condition.ctl log=/space/dbexport/PHR/log/condition-`date +%Y%m%d`.log bad=/space/dbexport/PHR/bad/condition-`date +%Y%m%d`.bad
rc=$?
if [ $rc == 2 ]
then
echo 'Condition table load finished with warnings/errors'
#mv /space/dbexport/PHR/data/conditionExport_test.csv /space/dbexport/PHR/archive/conditionExport_test-`date +%Y%m%d`.csv
#chmod 640 /space/dbexport/PHR/archive/conditionExport_test-`date +%Y%m%d`.csv
#basename=`basename $logfile`
subject="CONDITION TABLE LOAD FINISHED WITH WARNINGS"
(
echo "The log file is attached to e-mail"
for logfile in "${logfile1}"
do
attachment=`basename "${logfile1}"`
uuencode "${attachment}" < "${logfile1}"
echo ""
done
) | mailx -s "${subject}" "$to" id11355@noridian.com
exit $rc
elif [ $rc == 0 ]
then
echo 'CONDITION table load Successful'
#mv /space/dbexport/PHR/data/conditionExport_test.csv /space/dbexport/PHR/archive/conditionExport_test-`date +%Y%m%d`.csv
#chmod 640 /space/dbexport/PHR/archive/conditionExport_test-`date +%Y%m%d`.csv
subject="CONDITION TABLE LOAD FINISHED SUCCESSFULLY"
(
echo "The log file is attached to e-mail"
echo "Total Condition records loaded:" $( wc -l < /space/dbexport/PHR/data/conditionExport_test.csv);
for logfile in "${logfile1}"
do
attachment=`basename "${logfile1}"`
uuencode "${attachment}" < "${logfile1}"
echo ""
done
) | mailx -s "${subject}" "$to" id11355@noridian.com
fi
exit $rc
#Encounter
/usr/local/pl/util_scripts/perlencrypt.pl -k /export/home/oracle/secure/ealgorithm -d /sdr1/system/$pwd_file | sqlldr $userName control=/space/dbex
port/PHR/control/encounter.ctl log=/space/dbexport/PHR/log/encounter-`date +%Y%m%d`.log bad=/space/dbexport/PHR/bad/encounter-`date +%Y%m%d`.bad
rc=$?
if [ $rc == 2 ]
then
echo 'Encounter table load finished with warnings/errors'
#mv /space/dbexport/PHR/data/encounterExport.csv /space/dbexport/PHR/archive/encounterExport-`date +%Y%m%d`.csv
#chmod 640 /space/dbexport/PHR/archive/encounterExport-`date +%Y%m%d`.csv
#basename=`basename $logfile`
subject="ENCOUNTER TABLE LOAD FINISHED WITH WARNINGS"
(
echo "The log file is attached to e-mail"
for logfile in "${logfile2}"
do
attachment=`basename "${logfile2}"`
uuencode "${attachment}" < "${logfile2}"
echo ""
done
) | mailx -s "${subject}" "$to" id11355@gmail.com
exit $rc
I don't remember you posting what Shell you are using but it seems to be one which supports "==".
Without trying to understand more random code in depth, you may need to look at the "man" page for your Shell and read up about "exit" and what it does.