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 "odoo 13" #176

Closed zeroual86 closed 4 years ago

zeroual86 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/odoo13/odoo/tools/safe_eval.py", line 351, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "", line 1, in File "/opt/odoo/odoo13-custom-addons/auto_backup/models/db_backup.py", line 124, in schedule_backup os.makedirs(rec.folder) File "/usr/lib/python3.8/os.py", line 213, in makedirs makedirs(head, exist_ok=exist_ok) File "/usr/lib/python3.8/os.py", line 223, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/odoo'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/odoo/odoo13/odoo/http.py", line 624, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/odoo13/odoo/http.py", line 310, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/opt/odoo/odoo13/odoo/tools/pycompat.py", line 14, in reraise raise value File "/opt/odoo/odoo13/odoo/http.py", line 669, in dispatch result = self._call_function(self.params) File "/opt/odoo/odoo13/odoo/http.py", line 350, in _call_function return checked_call(self.db, *args, *kwargs) File "/opt/odoo/odoo13/odoo/service/model.py", line 94, in wrapper return f(dbname, args, kwargs) File "/opt/odoo/odoo13/odoo/http.py", line 339, in checked_call result = self.endpoint(*a, kw) File "/opt/odoo/odoo13/odoo/http.py", line 915, in call return self.method(*args, *kw) File "/opt/odoo/odoo13/odoo/http.py", line 515, in response_wrap response = f(args, kw) File "/opt/odoo/odoo13/addons/web/controllers/main.py", line 1326, in call_button action = self._call_kw(model, method, args, kwargs) File "/opt/odoo/odoo13/addons/web/controllers/main.py", line 1314, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/opt/odoo/odoo13/odoo/api.py", line 387, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/opt/odoo/odoo13/odoo/api.py", line 374, in _call_kw_multi result = method(recs, *args, **kwargs) File "/opt/odoo/odoo13/odoo/addons/base/models/ir_cron.py", line 83, in method_direct_trigger self.with_user(cron.user_id).ir_actions_server_id.run() File "/opt/odoo/odoo13/odoo/addons/base/models/ir_actions.py", line 545, in run res = func(action, eval_context=eval_context) File "/opt/odoo/odoo13/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/odoo13/odoo/tools/safe_eval.py", line 374, 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/odoo13/odoo/tools/pycompat.py", line 13, in reraise raise value.with_traceback(tb) File "/opt/odoo/odoo13/odoo/tools/safe_eval.py", line 351, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "", line 1, in File "/opt/odoo/odoo13-custom-addons/auto_backup/models/db_backup.py", line 124, in schedule_backup os.makedirs(rec.folder) File "/usr/lib/python3.8/os.py", line 213, in makedirs makedirs(head, exist_ok=exist_ok) File "/usr/lib/python3.8/os.py", line 223, in makedirs mkdir(name, mode) ValueError: <class 'PermissionError'>: "13 Permission denied" while evaluating 'model.schedule_backup()'

drwxrwxrwx 2 odoo odoo 4096 juin 29 11:42 backups drwxrwxrwx 11 odoo odoo 4096 juin 29 11:14 odoo13

Yenthe666 commented 4 years ago

Your Odoo user does not have enough rights to create/modify the folder. You probably have an invalid path defined

sosodoo commented 4 years ago

You can try setting your directory in the config to /tmp/backups. If that works your issue will be permissions and also possibly selinux restrictions depending on your system.