Better fix for FTP backup without folder name

This commit is contained in:
dpeca 2017-04-22 02:22:23 +02:00
parent 335b5fe41e
commit e022c6507b
2 changed files with 27 additions and 11 deletions

View file

@ -122,8 +122,12 @@ if [ "$type" = 'ftp' ]; then
fi fi
# Checking write permissions # Checking write permissions
if [ -z $path ]; then
ftmpdir="vst.bK76A9SUkt"
else
ftpc "mkdir $path" > /dev/null 2>&1 ftpc "mkdir $path" > /dev/null 2>&1
ftmpdir="$path/vst.bK76A9SUkt" ftmpdir="$path/vst.bK76A9SUkt"
fi
ftp_result=$(ftpc "mkdir $ftmpdir" "rm $ftmpdir"|grep -v Trying) ftp_result=$(ftpc "mkdir $ftmpdir" "rm $ftmpdir"|grep -v Trying)
if [ ! -z "$ftp_result" ] ; then if [ ! -z "$ftp_result" ] ; then
echo "$ftp_result" echo "$ftp_result"

View file

@ -557,10 +557,6 @@ ftp_backup() {
check_result "$E_PARSING" "$error" check_result "$E_PARSING" "$error"
fi fi
if [ -z $BPATH ]; then
BPATH="/";
fi
# Debug info # Debug info
echo -e "$(date "+%F %T") Remote: ftp://$HOST$BPATH/$user.$date.tar" echo -e "$(date "+%F %T") Remote: ftp://$HOST$BPATH/$user.$date.tar"
@ -577,8 +573,12 @@ ftp_backup() {
fi fi
# Check ftp permissions # Check ftp permissions
if [ -z $BPATH ]; then
ftmpdir="vst.bK76A9SUkt"
else
ftpc "mkdir $BPATH" > /dev/null 2>&1 ftpc "mkdir $BPATH" > /dev/null 2>&1
ftmpdir="$BPATH/vst.bK76A9SUkt" ftmpdir="$BPATH/vst.bK76A9SUkt"
fi
ftpc "mkdir $ftmpdir" "rm $ftmpdir" ftpc "mkdir $ftmpdir" "rm $ftmpdir"
ftp_result=$(ftpc "mkdir $ftmpdir" "rm $ftmpdir" |grep -v Trying) ftp_result=$(ftpc "mkdir $ftmpdir" "rm $ftmpdir" |grep -v Trying)
if [ ! -z "$ftp_result" ] ; then if [ ! -z "$ftp_result" ] ; then
@ -591,7 +591,11 @@ ftp_backup() {
fi fi
# Checking retention # Checking retention
if [ -z $BPATH ]; then
backup_list=$(ftpc "ls" |awk '{print $9}' |grep "^$user\.")
else
backup_list=$(ftpc "cd $BPATH" "ls" |awk '{print $9}' |grep "^$user\.") backup_list=$(ftpc "cd $BPATH" "ls" |awk '{print $9}' |grep "^$user\.")
fi
backups_count=$(echo "$backup_list" |wc -l) backups_count=$(echo "$backup_list" |wc -l)
if [ "$backups_count" -ge "$BACKUPS" ]; then if [ "$backups_count" -ge "$BACKUPS" ]; then
backups_rm_number=$((backups_count - BACKUPS + 1)) backups_rm_number=$((backups_count - BACKUPS + 1))
@ -599,14 +603,22 @@ ftp_backup() {
backup_date=$(echo $backup |sed -e "s/$user.//" -e "s/.tar$//") backup_date=$(echo $backup |sed -e "s/$user.//" -e "s/.tar$//")
echo -e "$(date "+%F %T") Rotated ftp backup: $backup_date" |\ echo -e "$(date "+%F %T") Rotated ftp backup: $backup_date" |\
tee -a $BACKUP/$user.log tee -a $BACKUP/$user.log
if [ -z $BPATH ]; then
ftpc "delete $backup"
else
ftpc "cd $BPATH" "delete $backup" ftpc "cd $BPATH" "delete $backup"
fi
done done
fi fi
# Uploading backup archive # Uploading backup archive
if [ "$localbackup" = 'yes' ]; then if [ "$localbackup" = 'yes' ]; then
cd $BACKUP cd $BACKUP
if [ -z $BPATH ]; then
ftpc "put $user.$date.tar"
else
ftpc "cd $BPATH" "put $user.$date.tar" ftpc "cd $BPATH" "put $user.$date.tar"
fi
else else
cd $tmpdir cd $tmpdir
tar -cf $BACKUP/$user.$date.tar . tar -cf $BACKUP/$user.$date.tar .