Michael Leone on 13 Mar 2012 08:26:56 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Need some script advice


On Tue, Mar 13, 2012 at 11:19 AM, Frank Szczerba <frank@szczerba.net> wrote:
> You could just wild card it like you do with the copy:
>
> if [ -f *.zip ]
> then
>    echo 'Adding to archive'
>    cp *.zip /Archive
>    mailx -s "All good!" ...
> else
>    echo 'File not found!'
>    mailx -s "Problem making archive! Come look" .....
> fi
>
> will work just fine if there's never more than one zip file present. If there might be more than one, you can do:
>
> for zip in *.zip
> do
>    if [ -f $zip ]
>    then
>        echo 'Adding to archive'
>        cp $zip /Archive
>        mailx -s "All good!" ...
>    else
>        echo 'File not found!'
>        mailx -s "Problem making archive! Come look" .....
>    fi
> done

No, there will only ever be 1 zip file present.

Here's what I have so far:

#!/bin/bash -
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#
# Go execute the Collector script, and rsync the output back here
#
/usr/bin/ssh user@IP '/Scripts/snag-files.sh' && /usr/bin/rsync -rvz
--timeout=90 --delete-excluded user@IP:/home/user/snagged-files/
/VendorInvoices/

echo -e Done remote execution "\n"

TREE='/VendorInvoices'

if [ "$(/bin/ls -A $TREE)" ]; then

#
# Copy the ZIP over to the archive, for safety's sake
#
        /bin/cp /VendorInvoices/*.zip /VendorInvoicesArchive/
        ZipFileName=$(/bin/ls -A /VendorInvoicesArchive/)"
#
# Check to make sure file exists in archive. If not, mail and exit
out. Else explode all files out individually
#
        if [ -f $ZipFileName]
                #
                # Unzip anything collected
                #
                # -j = ignore paths
                # -d = path to put all extracted files
                #
                /usr/bin/unzip -j /VendorInvoices/*.zip -d /VendorInvoices
                #
                # Kill the zip file (it's in the archive, anyway - see above)
                #
                /bin/rm /VendorInvoices/*.zip
                #
                # Mail the list 'o files
                #
                /bin/ls -l /VendorInvoices | /usr/bin/awk  \!'/total/
{printf("%10s %2s %3s %20s \n", $6,$7,$8,$9)}' | mailx -s "List of
invoices for $(date '+%Y-%m-%d')"  emailaddresses here
        else
                /bin/ls -s "ERROR copying invoice!! Come look"
emailaddresseshere
        fi
else
        mailx -s "No invoices received for $(date '+%Y-%m-%d')"
emailaddresseshere </Scripts/EmptyMailBody
fi
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug