每小时上传备份,并删除老的备份
This commit is contained in:
parent
b24ea3c3e3
commit
a1f616525c
@ -8,8 +8,6 @@ dbName=$5
|
|||||||
backUpPath=$6
|
backUpPath=$6
|
||||||
ossPath=$7
|
ossPath=$7
|
||||||
|
|
||||||
protol=oss
|
|
||||||
|
|
||||||
PATH=PATH:/usr/bin:/usr/sbin:/usr/local/bin
|
PATH=PATH:/usr/bin:/usr/sbin:/usr/local/bin
|
||||||
|
|
||||||
cd $backUpPath
|
cd $backUpPath
|
||||||
@ -26,4 +24,4 @@ mv ${dbName}.sql sql
|
|||||||
tar -czvf ${dbName}.sql.tar.gz sql
|
tar -czvf ${dbName}.sql.tar.gz sql
|
||||||
|
|
||||||
echo "ossPath: "${ossPath}
|
echo "ossPath: "${ossPath}
|
||||||
ossutil cp ${dbName}.sql.tar.gz ${protol}://${ossPath}/ -f
|
ossutil cp ${dbName}.sql.tar.gz oss://${ossPath}/ -f
|
||||||
|
31
backup.sh
31
backup.sh
@ -1,8 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# 获取当前日期和时间
|
# 获取当前日期和时间
|
||||||
current_date=$(date +%Y-%m-%d)
|
current_time=$(date +"%Y-%m-%d-%H")
|
||||||
current_time=$(date +%H:%M:%S)
|
|
||||||
userName=$1
|
userName=$1
|
||||||
password=$2
|
password=$2
|
||||||
dbName=$3
|
dbName=$3
|
||||||
@ -10,7 +9,8 @@ host=$4
|
|||||||
backUpPath=$5
|
backUpPath=$5
|
||||||
|
|
||||||
# 备份文件名
|
# 备份文件名
|
||||||
backup_file="${dbName}_backup_${current_date}.sql"
|
backup_file="${dbName}_backUp_${current_time}.sql"
|
||||||
|
|
||||||
echo "backup_file: "${backup_file}
|
echo "backup_file: "${backup_file}
|
||||||
mkdir ${backUpPath} -p || true
|
mkdir ${backUpPath} -p || true
|
||||||
# 备份MySQL数据库
|
# 备份MySQL数据库
|
||||||
@ -20,12 +20,29 @@ rm sql -rf || true
|
|||||||
mkdir sql || true
|
mkdir sql || true
|
||||||
mv ${backup_file} sql/
|
mv ${backup_file} sql/
|
||||||
tar -czvf ${backup_file}".tar.gz" "sql/"
|
tar -czvf ${backup_file}".tar.gz" "sql/"
|
||||||
|
ossutil ${backup_file}".tar.gz" oss://${ossPath}/${backup_file}".tar.gz"
|
||||||
rm -fr sql
|
rm -fr sql
|
||||||
#
|
|
||||||
|
|
||||||
|
# 存储60个小时前的备份文件名的数组
|
||||||
|
old_backup_files=()
|
||||||
|
|
||||||
|
cd ${backUpPath}
|
||||||
|
# 遍历60个小时前的备份文件,并将文件名存入数组
|
||||||
|
while IFS= read -r -d '' file; do
|
||||||
|
old_backup_files+=("$file")
|
||||||
|
done < <(find ${backUpPath} -name "${dbName}_backUp_*.tar.gz" -type f -mmin +3600 -print0)
|
||||||
|
|
||||||
|
# 遍历数组,删除备份文件
|
||||||
|
for file in "${old_backup_files[@]}"; do
|
||||||
|
rm "$file" || true
|
||||||
|
ossutil rm $file oss://${ossPath}/$file -f || true
|
||||||
|
done
|
||||||
|
|
||||||
#删除10天前的备份
|
#删除10天前的备份
|
||||||
delete_date=$(date -d "10 days ago" +%Y-%m-%d)
|
#delete_date=$(date -d "10 days ago" +%Y-%m-%d)
|
||||||
delete_file="${dbName}_backup_${delete_date}.sql.tar.gz"
|
#delete_file="${dbName}_backup_${delete_date}.sql.tar.gz"
|
||||||
rm ${backUpPath}/"$delete_file"
|
#rm ${backUpPath}/"$delete_file"
|
||||||
|
|
||||||
# 输出日志
|
# 输出日志
|
||||||
echo "[$current_date $current_time] 执行${dbName}数据库备份并删除10天前备份成功"
|
echo "[$current_date $current_time] 执行${dbName}数据库备份并删除10天前备份成功"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user