Odoo数据库自动备份脚本

#!/bin/bash


# 数据库名称
# db_name="odoo14e"
# 存放备份文件的url地址
# base_url="/home/odoo/pgsql_backup/backup_files/"
# odoo临时文件地址
# filestore_url=/home/odoo/.local/share/Odoo/filestore/${db_name}

db_name="demo100"
base_url="/home/jincw/work/odoo_backup/backup_files/"
filestore_url=/ubuntu/.local/share/Odoo/filestore/${db_name}


# 判断是否存在存放备份文件的url地址文件目录,如果不存在则创建
if [ ! -d $base_url ];then
   mkdir -p $base_url
fi


# 删除5天之前的备份文件
find $base_url -mtime +5 -type f| xargs rm -f


# 当前时间
current_time=date +%Y-%m-%d_%H
# 备份数据库文件名
db_file_name=${db_name}_dbfile.gz
# 备份odoo临时文件文件名
filestore_file_name=${db_name}_filestore.tar.gz


# 当前备份目录
duplicate_catalog=$base_url$current_time

mkdir $duplicate_catalog


# 执行数据库备份命令备份数据库
pg_dump $db_name | gzip -c > ${duplicate_catalog}/${db_file_name}


# 打包odoo临时文件
cd $filestore_url
tar -zcvPf ${duplicate_catalog}/${filestore_file_name} .

# 将db备份和临时文件打包
cd $duplicate_catalog
tar -cvPf $duplicate_catalog.tar .


# # 删除压缩之前的源文件
rm -rf $duplicate_catalog