Frank Szczerba on 13 Mar 2012 08:19:24 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Need some script advice |
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 This would be a bit more robust. Frank On Mar 13, 2012, at 10:47 AM, Michael Leone wrote: > Note that I am not a Linux scripting guy by ANY stretch of the > imagination. But I do have a simple script that I could use some > advice on. > > I have a script that we use to transfer FTPed invoices from a machine > on our DMZ to the trusted LAN. This script reaches out to the DMZ and > runs a script that that ZIPs up all invoices it finds. Then my script > RSYNCs it from the DMZ to the trusted LAN. This all works. > > Next, my script extracts out from the zip all the individual files, > and moves them to a special folder. Then it makes a copy of the zip > file in an archive folder. Then it deletes the zip from the working > directory (since we safely have it in the archive). > > Well, somehow the script hiccupped the other day, and did NOT copy the > zip from the working directory to the archive before deleting it. (no, > I don't know why yet - possibly a credentials problem, the interactive > run may not have been done by the right account. That's a separate > problem). > > What I need to do: verify that the script exists in the archive BEFORE > deleting. If it doesn't exist, I want it to email me. > > I know I can do (thank you Google, for the example): > > if [ -f zip-file-name] > 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 > > Here's what I don't know how to do - determine that zip-file-name, so > I can check it. There will only ever be 1 zip file in the working > directory. How do I capture that name, to then feed it into the code > snippet above. I guess what I am asking: > > how can I save the name of the single file that is in this directory > to a variable? (I will then use that variable in the test above) > > I'm sure it's simple, I just don't know how ... > > -- > Mike Leone, <mailto:turgon@mike-leone.com> > > Angels and demons dancing in my head > Lunatics and monsters underneath my bed > Media messiahs preying on my fears > Pop culture prophets playing in my ears > Rush, "Totem" > ___________________________________________________________________________ > 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 ___________________________________________________________________________ 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