Odoo中文网|Odoo实施培训

标题: 怎样自动备份数据库? [打印本页]

作者: Izzie    时间: 2015-11-8 15:07
标题: 怎样自动备份数据库?
我想设置每30分钟备份一次数据库,用Ptython代码定义服务器动作,怎么实现?

作者: 队长别开枪是我    时间: 2015-11-8 15:18
可以创建一个crontab调用python脚本,
  1. import os
  2. import time
  3. import subprocess

  4. dump_dir = '/home/openerp/db_backup'
  5. db_username = 'openerp'
  6. #db_password = ''
  7. db_names = ['DB_NAME']

  8. for db_name in db_names:
  9.     try:
  10.         file_path = ''
  11.         dumper = " -U %s --password -Z 9 -f %s -F c %s  "
  12. #        os.putenv('PGPASSWORD', db_password)
  13.         bkp_file = '%s_%s.sql' % (db_name, time.strftime('%Y%m%d_%H_%M_%S'))
  14. #        glob_list = glob.glob(dump_dir + db_name + '*' + '.pgdump')
  15.         file_path = os.path.join(dump_dir, bkp_file)
  16.         command = 'pg_dump' + dumper % (db_username, file_path, db_name)
  17.         subprocess.call(command, shell=True)
  18.         subprocess.call('gzip ' + file_path, shell=True)
  19.     except:
  20.         print "Couldn't backup database" % (db_name)
复制代码





欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/) Powered by Discuz! X3.2