Cron to copy and append date to .html file

I've written a cron to do the following:
Copy my analog.html file from one dir to another and saving the analog.html file with the date appended. As such 091698_analog.html. Here's what I have so far.
cp $dir1/analog.html $dir2/'date'+%m%d%y''_$analog.html
It does copy the file to the new dir but the file name ends up as %m%d%y_analog.html
What can I change to ensure the date is appended to the file name?
Any help appreciated
Thanks =PC=
smeltAsked:
Who is Participating?
 
junfebConnect With a Mentor Commented:
Try this -
cp tmp/analog.html tmp1/`date +'%m%d%y'`_analog.html
 
here tmp and tmp1 are two directories

cp tmp/analog.html tmp1/(backquote)date (space)+(singlequote)%m%d%y(singlequote)(backquote)_analog.html.

This would create a file named
091798_analog.html

I hope this is what you want.

Thanks.
0
 
ahoffmannCommented:
cp $dir1/analog.html $dir2/`date '+%m%d%y'`_analog.html
0
 
smeltAuthor Commented:
Actually I tried this first and the file name returned as just _analog.html  No Date
Any other suggestions?
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
ahoffmannCommented:
did you try full pathnames?

cp $dir1/analog.html $dir2/`/bin/date '+%m%d%y'`_analog.html
0
 
smeltAuthor Commented:
Yes, I've tried full path.
This is what I have:
cp $ /home/httpd/html/analog/analog.html $ /home/httpd/html/analog/backup/`date '+%m%d%y'`_analog.html

Do I need to run the date first? It seems like it's not running the date, just appending the %m%d%y to the filename. I've tried the date %m%d%y from the command line and it runs as it should.
Running Red Hat Linux release 5.1 (Manhattan)    

0
 
ahoffmannCommented:
what are the  $  (dollar) signs iin your cp command for ?

date enclosed in backtics (graves) should work.

Is your command in crontab, or does crontab call a script to
do this? If it is a script, which shell is used?
0
 
smeltAuthor Commented:
Currently the command is in crontab.
I've tried with and without the {$}
I'll try the (date)enclosed and see what happens.

0
 
smeltAuthor Commented:
I tried the (date) and no go.
Basically I need to ensure that the file would be copied to the new dir with a name change so as not to copy over an existing analog.html file. I'd like to keep a running log so that I can compare. Even if it were some sort of incremental routine so that the file is copied and named 1_analog.html and the next time cron runs it names it 2_analog.html
Is there another way other than date?
0
 
smeltAuthor Commented:
Thanks It works.
I'm happy:)
0
 
ahoffmannCommented:
Hmm, I can't see any difference between junfeb's answer and mine,
except that the + is not inside the quotes (which should not make
a difference.
Could you please explain?
0
 
smeltAuthor Commented:
I did try the + inside the quotes. It did not work. I've tried many times with quotes, without, spacing, brackets. It just so happens that junfebs' response worked.
Initially my first attempt was the same as junfebs but the quote was on the wrong side of the + sign...
0
 
ahoffmannCommented:
Whis OS are you using?
0
 
smeltAuthor Commented:
Red Hat Linux release 5.1 (Manhattan)   It Rocks!
0
 
ahoffmannCommented:
Strange.
Could you test with another shell (which one do you have?).

I'm just wondering.
0
All Courses

From novice to tech pro — start learning today.