Skip to content

Commit f836822

Browse files
robindirksen1anton-reutov
authored andcommitted
Backup filename changed (hestiacp#1289)
* Backup filename changed Changed the backup filename for running more backup each day - for example every 4 hours * Restore user fix with new backup date * Check if the backup name has an old notation * Fix backup permission check * fixed regex * fix
1 parent fc60a99 commit f836822

File tree

2 files changed

+39
-31
lines changed

2 files changed

+39
-31
lines changed

bin/v-backup-user

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -472,11 +472,12 @@ end_time=$(date '+%s')
472472
time_n_date=$(date +'%T %F')
473473
time=$(echo "$time_n_date" |cut -f 1 -d \ )
474474
date=$(echo "$time_n_date" |cut -f 2 -d \ )
475+
backup_new_date=$(date +"%Y-%m-%d_%H-%M-%S")
475476

476477
# Defining local storage function
477478
local_backup(){
478479

479-
rm -f $BACKUP/$user.$date.tar
480+
rm -f $BACKUP/$user.$backup_new_date.tar
480481

481482
# Checking retention
482483
backup_list=$(ls -lrt $BACKUP/ |awk '{print $9}' |grep "^$user\." | grep ".tar")
@@ -506,11 +507,11 @@ local_backup(){
506507

507508
# Creating final tarball
508509
cd $tmpdir
509-
tar -cf $BACKUP/$user.$date.tar .
510-
chmod 640 $BACKUP/$user.$date.tar
511-
chown admin:$user $BACKUP/$user.$date.tar
510+
tar -cf $BACKUP/$user.$backup_new_date.tar .
511+
chmod 640 $BACKUP/$user.$backup_new_date.tar
512+
chown admin:$user $BACKUP/$user.$backup_new_date.tar
512513
localbackup='yes'
513-
echo -e "$(date "+%F %T") Local: $BACKUP/$user.$date.tar" |\
514+
echo -e "$(date "+%F %T") Local: $BACKUP/$user.$backup_new_date.tar" |\
514515
tee -a $BACKUP/$user.log
515516
}
516517

@@ -559,7 +560,7 @@ ftp_backup() {
559560
fi
560561

561562
# Debug info
562-
echo -e "$(date "+%F %T") Remote: ftp://$HOST$BPATH/$user.$date.tar"
563+
echo -e "$(date "+%F %T") Remote: ftp://$HOST$BPATH/$user.$backup_new_date.tar"
563564

564565
# Checking ftp connection
565566
fconn=$(ftpc)
@@ -616,20 +617,20 @@ ftp_backup() {
616617
if [ "$localbackup" = 'yes' ]; then
617618
cd $BACKUP
618619
if [ -z $BPATH ]; then
619-
ftpc "put $user.$date.tar"
620+
ftpc "put $user.$backup_new_date.tar"
620621
else
621-
ftpc "cd $BPATH" "put $user.$date.tar"
622+
ftpc "cd $BPATH" "put $user.$backup_new_date.tar"
622623
fi
623624
else
624625
cd $tmpdir
625-
tar -cf $BACKUP/$user.$date.tar .
626+
tar -cf $BACKUP/$user.$backup_new_date.tar .
626627
cd $BACKUP/
627628
if [ -z $BPATH ]; then
628-
ftpc "put $user.$date.tar"
629+
ftpc "put $user.$backup_new_date.tar"
629630
else
630-
ftpc "cd $BPATH" "put $user.$date.tar"
631+
ftpc "cd $BPATH" "put $user.$backup_new_date.tar"
631632
fi
632-
rm -f $user.$date.tar
633+
rm -f $user.$backup_new_date.tar
633634
fi
634635
}
635636

@@ -722,7 +723,7 @@ sftp_backup() {
722723
fi
723724

724725
# Debug info
725-
echo -e "$(date "+%F %T") Remote: sftp://$HOST/$BPATH/$user.$date.tar" |\
726+
echo -e "$(date "+%F %T") Remote: sftp://$HOST/$BPATH/$user.$backup_new_date.tar" |\
726727
tee -a $BACKUP/$user.log
727728

728729
# Checking network connection and write permissions
@@ -768,24 +769,24 @@ sftp_backup() {
768769
fi
769770

770771
# Uploading backup archive
771-
echo "$(date "+%F %T") Uploading $user.$date.tar"|tee -a $BACKUP/$user.log
772+
echo "$(date "+%F %T") Uploading $user.$backup_new_date.tar"|tee -a $BACKUP/$user.log
772773
if [ "$localbackup" = 'yes' ]; then
773774
cd $BACKUP
774775
if [ -z $BPATH ]; then
775-
sftpc "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
776+
sftpc "put $user.$backup_new_date.tar" "chmod 0600 $user.$backup_new_date.tar" > /dev/null 2>&1
776777
else
777-
sftpc "cd $BPATH" "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
778+
sftpc "cd $BPATH" "put $user.$backup_new_date.tar" "chmod 0600 $user.$backup_new_date.tar" > /dev/null 2>&1
778779
fi
779780
else
780781
cd $tmpdir
781-
tar -cf $BACKUP/$user.$date.tar .
782+
tar -cf $BACKUP/$user.$backup_new_date.tar .
782783
cd $BACKUP/
783784
if [ -z $BPATH ]; then
784-
sftpc "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
785+
sftpc "put $user.$backup_new_date.tar" "chmod 0600 $user.$backup_new_date.tar" > /dev/null 2>&1
785786
else
786-
sftpc "cd $BPATH" "put $user.$date.tar" "chmod 0600 $user.$date.tar" > /dev/null 2>&1
787+
sftpc "cd $BPATH" "put $user.$backup_new_date.tar" "chmod 0600 $user.$backup_new_date.tar" > /dev/null 2>&1
787788
fi
788-
rm -f $user.$date.tar
789+
rm -f $user.$backup_new_date.tar
789790
fi
790791
}
791792

@@ -797,7 +798,7 @@ google_backup() {
797798
export BOTO_CONFIG="$VESTA/conf/.google.backup.boto"
798799

799800
# Debug info
800-
echo -e "$(date "+%F %T") Remote: gs://$BUCKET/$BPATH/$user.$date.tar"
801+
echo -e "$(date "+%F %T") Remote: gs://$BUCKET/$BPATH/$user.$backup_new_date.tar"
801802

802803
# Checking retention
803804
backup_list=$(${gsutil} ls gs://$BUCKET/$BPATH/$user.* 2>/dev/null)
@@ -811,19 +812,19 @@ google_backup() {
811812
fi
812813

813814
# Uploading backup archive
814-
echo -e "$(date "+%F %T") Uploading $user.$date.tar ..."
815+
echo -e "$(date "+%F %T") Uploading $user.$backup_new_date.tar ..."
815816
if [ "$localbackup" = 'yes' ]; then
816817
cd $BACKUP
817-
${gsutil} cp $user.$date.tar gs://$BUCKET/$BPATH/ > /dev/null 2>&1
818+
${gsutil} cp $user.$backup_new_date.tar gs://$BUCKET/$BPATH/ > /dev/null 2>&1
818819
else
819820
cd $tmpdir
820-
tar -cf $BACKUP/$user.$date.tar .
821+
tar -cf $BACKUP/$user.$backup_new_date.tar .
821822
cd $BACKUP/
822-
${gsutil} cp $user.$date.tar gs://$BUCKET/$BPATH/ > /dev/null 2>&1
823+
${gsutil} cp $user.$backup_new_date.tar gs://$BUCKET/$BPATH/ > /dev/null 2>&1
823824
rc=$?
824-
rm -f $user.$date.tar
825+
rm -f $user.$backup_new_date.tar
825826
if [ "$rc" -ne 0 ]; then
826-
check_result "$E_CONNECT" "gsutil failed to upload $user.$date.tar"
827+
check_result "$E_CONNECT" "gsutil failed to upload $user.$backup_new_date.tar"
827828
fi
828829
fi
829830
}
@@ -866,10 +867,10 @@ echo "$(date "+%F %T") Runtime: $run_time $min" |tee -a $BACKUP/$user.log
866867

867868
# Removing duplicate
868869
touch $USER_DATA/backup.conf
869-
sed -i "/$user.$date.tar/d" $USER_DATA/backup.conf
870+
sed -i "/$user.$backup_new_date.tar/d" $USER_DATA/backup.conf
870871

871872
# Registering new backup
872-
backup_str="BACKUP='$user.$date.tar'"
873+
backup_str="BACKUP='$user.$backup_new_date.tar'"
873874
backup_str="$backup_str TYPE='$BACKUP_SYSTEM' SIZE='$size'"
874875
backup_str="$backup_str WEB='${web_list// /,}'"
875876
backup_str="$backup_str DNS='${dns_list// /,}'"

bin/v-restore-user

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,15 @@ source $VESTA/conf/vesta.conf
3838

3939
# Check backup ownership function
4040
is_backup_available() {
41-
if ! [[ $2 =~ ^$1.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9].tar$ ]]; then
42-
check_result $E_FORBIDEN "permission denied"
41+
passed=false
42+
if [[ $2 =~ ^$1.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]_[0-9][0-9]-[0-9][0-9]-[0-9][0-9].tar$ ]]; then
43+
passed=true
44+
elif [[ $2 =~ ^$1.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9].tar$ ]]; then
45+
passed=true
46+
fi
47+
48+
if [ $passed = false ]; then
49+
check_result $E_FORBIDEN "permission denied"
4350
fi
4451
}
4552

0 commit comments

Comments
 (0)