7070
7171# Creating temporary directory
7272tmpdir=$( mktemp -p $BACKUP -d)
73+
7374if [ " $? " -ne 0 ]; then
7475 echo " Can't create tmp dir $tmpdir " | $SENDMAIL -s " $subj " $email $notify
7576 check_result $E_NOTEXIST " can't create tmp dir"
@@ -478,7 +479,7 @@ local_backup(){
478479 rm -f $BACKUP /$user .$date .tar
479480
480481 # Checking retention
481- backup_list=$( ls -lrt $BACKUP / | awk ' {print $9}' | grep " ^$user \." )
482+ backup_list=$( ls -lrt $BACKUP / | awk ' {print $9}' | grep " ^$user \." | grep " .tar " )
482483 backups_count=$( echo " $backup_list " | wc -l)
483484 if [ " $BACKUPS " -le " $backups_count " ]; then
484485 backups_rm_number=$(( backups_count - BACKUPS))
@@ -623,7 +624,11 @@ ftp_backup() {
623624 cd $tmpdir
624625 tar -cf $BACKUP /$user .$date .tar .
625626 cd $BACKUP /
626- ftpc " cd $BPATH " " put $user .$date .tar"
627+ if [ -z $BPATH ]; then
628+ ftpc " put $user .$date .tar"
629+ else
630+ ftpc " cd $BPATH " " put $user .$date .tar"
631+ fi
627632 rm -f $user .$date .tar
628633 fi
629634}
@@ -721,7 +726,11 @@ sftp_backup() {
721726 tee -a $BACKUP /$user .log
722727
723728 # Checking network connection and write permissions
724- sftmpdir=" $BPATH /vst.bK76A9SUkt"
729+ if [ -z $BPATH ]; then
730+ sftmpdir=" vst.bK76A9SUkt"
731+ else
732+ sftmpdir=" $BPATH /vst.bK76A9SUkt"
733+ fi
725734 sftpc " mkdir $BPATH " > /dev/null 2>&1
726735 sftpc " mkdir $sftmpdir " " rmdir $sftmpdir " > /dev/null 2>&1
727736 rc=$?
@@ -738,28 +747,44 @@ sftp_backup() {
738747 fi
739748
740749 # Checking retention
741- backup_list=$( sftpc " cd $BPATH " " ls -l" | awk ' {print $9}' | grep " ^$user \." )
750+ if [ -z $BPATH ]; then
751+ backup_list=$( sftpc " ls -l" | awk ' {print $9}' | grep " ^$user \." )
752+ else
753+ backup_list=$( sftpc " cd $BPATH " " ls -l" | awk ' {print $9}' | grep " ^$user \." )
754+ fi
742755 backups_count=$( echo " $backup_list " | wc -l)
743756 if [ " $backups_count " -ge " $BACKUPS " ]; then
744757 backups_rm_number=$(( backups_count - BACKUPS + 1 ))
745758 for backup in $( echo " $backup_list " | head -n $backups_rm_number ) ; do
746759 backup_date=$( echo $backup | sed -e " s/$user .//" -e " s/.tar.*$//" )
747760 echo -e " $( date " +%F %T" ) Rotated sftp backup: $backup_date " | \
748761 tee -a $BACKUP /$user .log
749- sftpc " cd $BPATH " " rm $backup " > /dev/null 2>&1
762+ if [ -z $BPATH ]; then
763+ sftpc " rm $backup " > /dev/null 2>&1
764+ else
765+ sftpc " cd $BPATH " " rm $backup " > /dev/null 2>&1
766+ fi
750767 done
751768 fi
752769
753770 # Uploading backup archive
754771 echo " $( date " +%F %T" ) Uploading $user .$date .tar" | tee -a $BACKUP /$user .log
755772 if [ " $localbackup " = ' yes' ]; then
756773 cd $BACKUP
757- sftpc " cd $BPATH " " put $user .$date .tar" > /dev/null 2>&1
774+ if [ -z $BPATH ]; then
775+ sftpc " put $user .$date .tar" " chmod 0600 $user .$date .tar" > /dev/null 2>&1
776+ else
777+ sftpc " cd $BPATH " " put $user .$date .tar" " chmod 0600 $user .$date .tar" > /dev/null 2>&1
778+ fi
758779 else
759780 cd $tmpdir
760781 tar -cf $BACKUP /$user .$date .tar .
761782 cd $BACKUP /
762- sftpc " cd $BPATH " " put $user .$date .tar" > /dev/null 2>&1
783+ if [ -z $BPATH ]; then
784+ sftpc " put $user .$date .tar" " chmod 0600 $user .$date .tar" > /dev/null 2>&1
785+ else
786+ sftpc " cd $BPATH " " put $user .$date .tar" " chmod 0600 $user .$date .tar" > /dev/null 2>&1
787+ fi
763788 rm -f $user .$date .tar
764789 fi
765790}
0 commit comments