On 8/15/12 9:13 PM, Bruce Momjian wrote:
>> Few more suggestions/nitpicks:
>> 1.) IMO it's more logical to put the test for whether the $ARCHIVE
>> directory exists before the test whether ${ARCHIVE}/${FILE} exists.
>> 2.) I think the error code reporting here is not sound:
>>
>> cp ${FULLPATH} ${ARCHIVE}/${FILE}
>> if [ $? -ne 0 ] ; then
>> echo $0 Archive copy of ${FILE} failed with error $? >&2
>>
>> at least on my OS X machine, that echo produces a message like
>> "./local_backup_script.sh Archive copy of failed with error 0", I
>> guess since $? gets reset to 0 after that if-statement. You can use a
>> temporary variable like $ERRCODE=$? to get around this.
>
> I have made all the suggestions posted and would like to add the
> attached script to our documentation as a simple example.
Btw., is anyone else concerned about using plain cp for this? If the cp
fails half-way, it leaves a partial file around, but subsequent file
existence checks will find the file OK and skip it.
I have occasionally used some combination of mktemp + cp + mv, which
seems to work around this problem.