Yenthe666 / auto_backup

Automated database backups from Odoo, both locally and on an FTP server
MIT License
251 stars 281 forks source link

Auto backup failed #160

Closed sergin104 closed 4 years ago

sergin104 commented 4 years ago

I install everything well but when I go to test the copy it shows me this error.

Odoo Server Error
Traceback (most recent call last):
  File "/opt/odoo/odoo/odoo/tools/safe_eval.py", line 349, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/opt/odoo/odoo/addons/auto_backup/models/db_backup.py", line 133, in schedule_backup
    os.makedirs(rec.folder)
  File "/usr/lib/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permiso denegado: '/odoo'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/odoo/odoo/odoo/http.py", line 619, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo/odoo/odoo/http.py", line 309, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/odoo/odoo/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/opt/odoo/odoo/odoo/http.py", line 664, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo/odoo/odoo/http.py", line 345, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/odoo/odoo/service/model.py", line 93, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/odoo/odoo/http.py", line 338, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo/odoo/odoo/http.py", line 909, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/odoo/odoo/http.py", line 510, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/odoo/addons/web/controllers/main.py", line 1324, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/opt/odoo/odoo/addons/web/controllers/main.py", line 1312, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo/odoo/odoo/api.py", line 395, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo/odoo/odoo/api.py", line 382, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/opt/odoo/odoo/odoo/addons/base/models/ir_cron.py", line 76, in method_direct_trigger
    self.with_user(cron.user_id).ir_actions_server_id.run()
  File "/opt/odoo/odoo/odoo/addons/base/models/ir_actions.py", line 545, in run
    res = func(action, eval_context=eval_context)
  File "/opt/odoo/odoo/odoo/addons/base/models/ir_actions.py", line 430, in run_action_code_multi
    safe_eval(action.sudo().code.strip(), eval_context, mode="exec", nocopy=True)  # nocopy allows to return 'action'
  File "/opt/odoo/odoo/odoo/tools/safe_eval.py", line 372, in safe_eval
    pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  File "/opt/odoo/odoo/odoo/tools/pycompat.py", line 13, in reraise
    raise value.with_traceback(tb)
  File "/opt/odoo/odoo/odoo/tools/safe_eval.py", line 349, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/opt/odoo/odoo/addons/auto_backup/models/db_backup.py", line 133, in schedule_backup
    os.makedirs(rec.folder)
  File "/usr/lib/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
ValueError: <class 'PermissionError'>: "13
Permiso denegado" while evaluating
'model.schedule_backup()'
Yenthe666 commented 4 years ago

Well, its clear: PermissionError: [Errno 13] Permiso denegado: '/odoo'. Your user does not have enough rights on this folder to write the backups :)

jardosa commented 4 years ago

I hope I'm not hijacking this thread but I have the same issue. The only difference is that it shows a ValueError rather than a PermissionError:

Traceback (most recent call last): File "/var/odoo/o10/odoo/http.py", line 641, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/var/odoo/o10/odoo/http.py", line 683, in dispatch result = self._call_function(self.params) File "/var/odoo/o10/odoo/http.py", line 333, in _call_function return checked_call(self.db, *args, *kwargs) File "/var/odoo/o10/odoo/service/model.py", line 101, in wrapper return f(dbname, args, kwargs) File "/var/odoo/o10/odoo/http.py", line 326, in checked_call result = self.endpoint(*a, kw) File "/var/odoo/o10/odoo/http.py", line 941, in call return self.method(*args, *kw) File "/var/odoo/o10/odoo/http.py", line 506, in response_wrap response = f(args, kw) File "/var/odoo/odoo10/addons/web/controllers/main.py", line 1129, in run result = request.env['ir.actions.server'].browse([action_id]).run() File "/var/odoo/o10/odoo/addons/base/ir/ir_actions.py", line 980, in run res = func(action, eval_context=eval_context) File "/var/odoo/odoo10/addons/website/models/ir_actions.py", line 58, in run_action_code_multi res = super(ServerAction, self).run_action_code_multi(action, eval_context) File "/var/odoo/o10/odoo/addons/base/ir/ir_actions.py", line 795, in run_action_code_multi safe_eval(action.code.strip(), eval_context, mode="exec", nocopy=True) # nocopy allows to return 'action' File "/var/odoo/o10/odoo/tools/safe_eval.py", line 301, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "", line 1, in File "/var/odoo/auto_custom/auto_backup/models/db_backup.py", line 169, in action_backup cached = db.dump_db(self.env.cr.dbname, None) File "/var/odoo/o10/odoo/service/db.py", line 197, in dump_db odoo.tools.exec_pg_command(*cmd) File "/var/odoo/o10/odoo/tools/misc.py", line 124, in exec_pg_command raise Exception('Postgres subprocess %s error %s' % (args2, rc)) ValueError: <type 'exceptions.Exception'>: "Postgres subprocess ('/usr/bin/pg_dump', '--no-owner', '--file=/tmp/tmpFZMKBh/dump.sql', 'auto-2016-12-21') error 1" while evaluating u'object.action_backup()'

Yenthe666 commented 4 years ago

You've not configured your postgreSQL correctly it seems. ('/usr/bin/pg_dump', '--no-owner', '--file=/tmp/tmpFZMKBh/dump.sql', 'auto-2016-12-21') error 1"