@@ -29,8 +29,39 @@ log() {
2929clean_backup_s3 () {
3030 s3_add_bucket_dest
3131
32- is_object_exist " $S3_BUCKET " " $S3_BUCKET_PATH .$SST_INFO_NAME " || xbcloud delete ${XBCLOUD_ARGS} --storage=s3 --s3-bucket=" $S3_BUCKET " " $S3_BUCKET_PATH .$SST_INFO_NAME "
33- is_object_exist " $S3_BUCKET " " $S3_BUCKET_PATH /" || xbcloud delete ${XBCLOUD_ARGS} --storage=s3 --s3-bucket=" $S3_BUCKET " " $S3_BUCKET_PATH "
32+ local time=15
33+ local is_deleted_full=0
34+ local is_deleted_info=0
35+ local exit_code=0
36+
37+ for i in {1..5}; do
38+ if (( i > 1 )) ; then
39+ log ' INFO' " Sleeping ${time} s before retry $i ..."
40+ sleep " $time "
41+ fi
42+
43+ if is_object_exist " $S3_BUCKET " " $S3_BUCKET_PATH /" ; then
44+ log ' INFO' " Delete (attempt $i )..."
45+
46+ xbcloud delete ${XBCLOUD_ARGS} --storage=s3 --s3-bucket=" $S3_BUCKET " " $S3_BUCKET_PATH "
47+ else
48+ is_deleted_full=1
49+ fi
50+
51+ if is_object_exist " $S3_BUCKET " " $S3_BUCKET_PATH .$SST_INFO_NAME /" ; then
52+ log ' INFO' " Delete (attempt $i )..."
53+
54+ xbcloud delete ${XBCLOUD_ARGS} --storage=s3 --s3-bucket=" $S3_BUCKET " " $S3_BUCKET_PATH .$SST_INFO_NAME "
55+ else
56+ is_deleted_info=1
57+ fi
58+
59+ if [[ ${is_deleted_full} == 1 && ${is_deleted_info} == 1 ]]; then
60+ log ' INFO' " Object deleted successfully before attempt $i . Exiting."
61+ break
62+ fi
63+ let time* =2
64+ done
3465}
3566
3667azure_auth_header_file () {
@@ -78,7 +109,44 @@ is_object_exist_azure() {
78109 set -x
79110
80111 if [[ ${# res} -ne 0 ]]; then
81- return 1
112+ return 0
82113 fi
83- return 0
114+ return 1
84115}
116+
117+ clean_backup_azure () {
118+ ENDPOINT=${AZURE_ENDPOINT:- " https://$AZURE_STORAGE_ACCOUNT .blob.core.windows.net" }
119+
120+ local time=15
121+ local is_deleted_full=0
122+ local is_deleted_info=0
123+ local exit_code=0
124+
125+ for i in {1..5}; do
126+ if (( i > 1 )) ; then
127+ log ' INFO' " Sleeping ${time} s before retry $i ..."
128+ sleep " $time "
129+ fi
130+
131+ if is_object_exist_azure " $BACKUP_PATH .$SST_INFO_NAME /" ; then
132+ log ' INFO' " Delete (attempt $i )..."
133+ xbcloud delete ${XBCLOUD_ARGS} --storage=azure " $BACKUP_PATH .$SST_INFO_NAME "
134+ else
135+ is_deleted_info=1
136+ fi
137+
138+ if is_object_exist_azure " $BACKUP_PATH /" ; then
139+ log ' INFO' " Delete (attempt $i )..."
140+ xbcloud delete ${XBCLOUD_ARGS} --storage=azure " $BACKUP_PATH "
141+ else
142+ is_deleted_full=1
143+ fi
144+
145+ if [[ ${is_deleted_full} == 1 && ${is_deleted_info} == 1 ]]; then
146+ log ' INFO' " Object deleted successfully before attempt $i . Exiting."
147+ break
148+ fi
149+ let time* =2
150+ done
151+ }
152+
0 commit comments