mirror of
https://github.com/myvesta/vesta
synced 2025-08-19 13:01:52 -07:00
Making SFTP backup able to work with empty folder name
This commit is contained in:
parent
92fa085755
commit
4aeec46841
2 changed files with 43 additions and 10 deletions
|
@ -141,9 +141,17 @@ if [ "$type" = 'sftp' ]; then
|
||||||
if [ -z $port ]; then
|
if [ -z $port ]; then
|
||||||
port=22
|
port=22
|
||||||
fi
|
fi
|
||||||
if sftpc "mkdir $path" > /dev/null 2>&1 ; then
|
if [ -z $path ]; then
|
||||||
sftmpdir="$path/vst.bK76A9SUkt"
|
sftmpdir="vst.bK76A9SUkt"
|
||||||
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
if sftpc "mkdir $path" > /dev/null 2>&1 ; then
|
||||||
|
sftmpdir="$path/vst.bK76A9SUkt"
|
||||||
|
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
sftmpdir="$path/vst.bK76A9SUkt"
|
||||||
|
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
rc=$?
|
rc=$?
|
||||||
if [[ "$rc" != 0 ]]; then
|
if [[ "$rc" != 0 ]]; then
|
||||||
|
|
|
@ -70,6 +70,7 @@ done
|
||||||
|
|
||||||
# Creating temporary directory
|
# Creating temporary directory
|
||||||
tmpdir=$(mktemp -p $BACKUP -d)
|
tmpdir=$(mktemp -p $BACKUP -d)
|
||||||
|
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
echo "Can't create tmp dir $tmpdir" |$SENDMAIL -s "$subj" $email $notify
|
echo "Can't create tmp dir $tmpdir" |$SENDMAIL -s "$subj" $email $notify
|
||||||
check_result $E_NOTEXIST "can't create tmp dir"
|
check_result $E_NOTEXIST "can't create tmp dir"
|
||||||
|
@ -478,7 +479,7 @@ local_backup(){
|
||||||
rm -f $BACKUP/$user.$date.tar
|
rm -f $BACKUP/$user.$date.tar
|
||||||
|
|
||||||
# Checking retention
|
# Checking retention
|
||||||
backup_list=$(ls -lrt $BACKUP/ |awk '{print $9}' |grep "^$user\.")
|
backup_list=$(ls -lrt $BACKUP/ |awk '{print $9}' |grep "^$user\." | grep ".tar")
|
||||||
backups_count=$(echo "$backup_list" |wc -l)
|
backups_count=$(echo "$backup_list" |wc -l)
|
||||||
if [ "$BACKUPS" -le "$backups_count" ]; then
|
if [ "$BACKUPS" -le "$backups_count" ]; then
|
||||||
backups_rm_number=$((backups_count - BACKUPS))
|
backups_rm_number=$((backups_count - BACKUPS))
|
||||||
|
@ -623,7 +624,11 @@ ftp_backup() {
|
||||||
cd $tmpdir
|
cd $tmpdir
|
||||||
tar -cf $BACKUP/$user.$date.tar .
|
tar -cf $BACKUP/$user.$date.tar .
|
||||||
cd $BACKUP/
|
cd $BACKUP/
|
||||||
ftpc "cd $BPATH" "put $user.$date.tar"
|
if [ -z $BPATH ]; then
|
||||||
|
ftpc "put $user.$date.tar"
|
||||||
|
else
|
||||||
|
ftpc "cd $BPATH" "put $user.$date.tar"
|
||||||
|
fi
|
||||||
rm -f $user.$date.tar
|
rm -f $user.$date.tar
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -721,7 +726,11 @@ sftp_backup() {
|
||||||
tee -a $BACKUP/$user.log
|
tee -a $BACKUP/$user.log
|
||||||
|
|
||||||
# Checking network connection and write permissions
|
# Checking network connection and write permissions
|
||||||
sftmpdir="$BPATH/vst.bK76A9SUkt"
|
if [ -z $BPATH ]; then
|
||||||
|
sftmpdir="vst.bK76A9SUkt"
|
||||||
|
else
|
||||||
|
sftmpdir="$BPATH/vst.bK76A9SUkt"
|
||||||
|
fi
|
||||||
sftpc "mkdir $BPATH" > /dev/null 2>&1
|
sftpc "mkdir $BPATH" > /dev/null 2>&1
|
||||||
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
||||||
rc=$?
|
rc=$?
|
||||||
|
@ -738,7 +747,11 @@ sftp_backup() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Checking retention
|
# Checking retention
|
||||||
backup_list=$(sftpc "cd $BPATH" "ls -l" |awk '{print $9}'|grep "^$user\.")
|
if [ -z $BPATH ]; then
|
||||||
|
backup_list=$(sftpc "ls -l" |awk '{print $9}'|grep "^$user\.")
|
||||||
|
else
|
||||||
|
backup_list=$(sftpc "cd $BPATH" "ls -l" |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))
|
||||||
|
@ -746,7 +759,11 @@ sftp_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 sftp backup: $backup_date" |\
|
echo -e "$(date "+%F %T") Rotated sftp backup: $backup_date" |\
|
||||||
tee -a $BACKUP/$user.log
|
tee -a $BACKUP/$user.log
|
||||||
sftpc "cd $BPATH" "rm $backup" > /dev/null 2>&1
|
if [ -z $BPATH ]; then
|
||||||
|
sftpc "rm $backup" > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
sftpc "cd $BPATH" "rm $backup" > /dev/null 2>&1
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -754,12 +771,20 @@ sftp_backup() {
|
||||||
echo "$(date "+%F %T") Uploading $user.$date.tar"|tee -a $BACKUP/$user.log
|
echo "$(date "+%F %T") Uploading $user.$date.tar"|tee -a $BACKUP/$user.log
|
||||||
if [ "$localbackup" = 'yes' ]; then
|
if [ "$localbackup" = 'yes' ]; then
|
||||||
cd $BACKUP
|
cd $BACKUP
|
||||||
sftpc "cd $BPATH" "put $user.$date.tar" > /dev/null 2>&1
|
if [ -z $BPATH ]; then
|
||||||
|
sftpc "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
sftpc "cd $BPATH" "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
cd $tmpdir
|
cd $tmpdir
|
||||||
tar -cf $BACKUP/$user.$date.tar .
|
tar -cf $BACKUP/$user.$date.tar .
|
||||||
cd $BACKUP/
|
cd $BACKUP/
|
||||||
sftpc "cd $BPATH" "put $user.$date.tar" > /dev/null 2>&1
|
if [ -z $BPATH ]; then
|
||||||
|
sftpc "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
sftpc "cd $BPATH" "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
|
||||||
|
fi
|
||||||
rm -f $user.$date.tar
|
rm -f $user.$date.tar
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue