Public
Snippet $29 authored by Owo Sugiana

Odoo Backup

odoo_backup.py
import sys
import os
from subprocess import call


db_name = 'odoo13'
data_dir = '/home/sugiana/.local/share/Odoo'
filestore_dir = os.path.join('filestore', db_name)
pg_file = db_name + '.pg'
pg_fullpath = os.path.join(data_dir, pg_file)
current_dir = os.path.realpath('.')
backup_file = os.path.join(current_dir, db_name + '.tgz')

rc = call(['pg_dump', '-Fc', '-v', db_name, '-f', pg_fullpath])
if rc != 0:
    sys.exit()
os.chdir(data_dir)
rc = call(['tar', 'cfzv', backup_file, pg_file, filestore_dir])
if rc != 0:
    sys.exit()
os.remove(pg_file)
print('{} tersimpan'.format(backup_file))