Cron Stopped Working - Permission Denied

Hello all, I got a weird issue… seomthing I did a few weeks ago, maybe through a new plugin but I have deleted and tried again…

My cron jobs work once per day but my cron logs get this error:

<!DOCTYPE html>
<html lang="en-GB">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <meta name="mobile-web-app-capable" content="yes">
        <meta name="robots" content="noindex,nofollow">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="referrer" content="no-referrer">

        
        <style>.task-board.color-yellow, .task-summary-container.color-yellow, .color-picker-square.color-yellow, .task-board-category.color-yellow, .table-list-category.color-yellow, .task-tag.color-yellow {background-color: rgb(245, 247, 196);border-color: rgb(223, 227, 45)}td.color-yellow { background-color: rgb(245, 247, 196)}.table-list-row.color-yellow {border-left: 5px solid rgb(223, 227, 45)}.task-board.color-blue, .task-summary-container.color-blue, .color-picker-square.color-blue, .task-board-category.color-blue, .table-list-category.color-blue, .task-tag.color-blue {background-color: rgb(219, 235, 255);border-color: rgb(168, 207, 255)}td.color-blue { background-color: rgb(219, 235, 255)}.table-list-row.color-blue {border-left: 5px solid rgb(168, 207, 255)}.task-board.color-green, .task-summary-container.color-green, .color-picker-square.color-green, .task-board-category.color-green, .table-list-category.color-green, .task-tag.color-green {background-color: rgb(189, 244, 203);border-color: rgb(74, 227, 113)}td.color-green { background-color: rgb(189, 244, 203)}.table-list-row.color-green {border-left: 5px solid rgb(74, 227, 113)}.task-board.color-purple, .task-summary-container.color-purple, .color-picker-square.color-purple, .task-board-category.color-purple, .table-list-category.color-purple, .task-tag.color-purple {background-color: rgb(223, 176, 255);border-color: rgb(205, 133, 254)}td.color-purple { background-color: rgb(223, 176, 255)}.table-list-row.color-purple {border-left: 5px solid rgb(205, 133, 254)}.task-board.color-red, .task-summary-container.color-red, .color-picker-square.color-red, .task-board-category.color-red, .table-list-category.color-red, .task-tag.color-red {background-color: rgb(255, 187, 187);border-color: rgb(255, 151, 151)}td.color-red { background-color: rgb(255, 187, 187)}.table-list-row.color-red {border-left: 5px solid rgb(255, 151, 151)}.task-board.color-orange, .task-summary-container.color-orange, .color-picker-square.color-orange, .task-board-category.color-orange, .table-list-category.color-orange, .task-tag.color-orange {background-color: rgb(255, 215, 179);border-color: rgb(255, 172, 98)}td.color-orange { background-color: rgb(255, 215, 179)}.table-list-row.color-orange {border-left: 5px solid rgb(255, 172, 98)}.task-board.color-grey, .task-summary-container.color-grey, .color-picker-square.color-grey, .task-board-category.color-grey, .table-list-category.color-grey, .task-tag.color-grey {background-color: rgb(238, 238, 238);border-color: rgb(204, 204, 204)}td.color-grey { background-color: rgb(238, 238, 238)}.table-list-row.color-grey {border-left: 5px solid rgb(204, 204, 204)}.task-board.color-brown, .task-summary-container.color-brown, .color-picker-square.color-brown, .task-board-category.color-brown, .table-list-category.color-brown, .task-tag.color-brown {background-color: #d7ccc8;border-color: #4e342e}td.color-brown { background-color: #d7ccc8}.table-list-row.color-brown {border-left: 5px solid #4e342e}.task-board.color-deep_orange, .task-summary-container.color-deep_orange, .color-picker-square.color-deep_orange, .task-board-category.color-deep_orange, .table-list-category.color-deep_orange, .task-tag.color-deep_orange {background-color: #ffab91;border-color: #e64a19}td.color-deep_orange { background-color: #ffab91}.table-list-row.color-deep_orange {border-left: 5px solid #e64a19}.task-board.color-dark_grey, .task-summary-container.color-dark_grey, .color-picker-square.color-dark_grey, .task-board-category.color-dark_grey, .table-list-category.color-dark_grey, .task-tag.color-dark_grey {background-color: #cfd8dc;border-color: #455a64}td.color-dark_grey { background-color: #cfd8dc}.table-list-row.color-dark_grey {border-left: 5px solid #455a64}.task-board.color-pink, .task-summary-container.color-pink, .color-picker-square.color-pink, .task-board-category.color-pink, .table-list-category.color-pink, .task-tag.color-pink {background-color: #f48fb1;border-color: #d81b60}td.color-pink { background-color: #f48fb1}.table-list-row.color-pink {border-left: 5px solid #d81b60}.task-board.color-teal, .task-summary-container.color-teal, .color-picker-square.color-teal, .task-board-category.color-teal, .table-list-category.color-teal, .task-tag.color-teal {background-color: #80cbc4;border-color: #00695c}td.color-teal { background-color: #80cbc4}.table-list-row.color-teal {border-left: 5px solid #00695c}.task-board.color-cyan, .task-summary-container.color-cyan, .color-picker-square.color-cyan, .task-board-category.color-cyan, .table-list-category.color-cyan, .task-tag.color-cyan {background-color: #b2ebf2;border-color: #00bcd4}td.color-cyan { background-color: #b2ebf2}.table-list-row.color-cyan {border-left: 5px solid #00bcd4}.task-board.color-lime, .task-summary-container.color-lime, .color-picker-square.color-lime, .task-board-category.color-lime, .table-list-category.color-lime, .task-tag.color-lime {background-color: #e6ee9c;border-color: #afb42b}td.color-lime { background-color: #e6ee9c}.table-list-row.color-lime {border-left: 5px solid #afb42b}.task-board.color-light_green, .task-summary-container.color-light_green, .color-picker-square.color-light_green, .task-board-category.color-light_green, .table-list-category.color-light_green, .task-tag.color-light_green {background-color: #dcedc8;border-color: #689f38}td.color-light_green { background-color: #dcedc8}.table-list-row.color-light_green {border-left: 5px solid #689f38}.task-board.color-amber, .task-summary-container.color-amber, .color-picker-square.color-amber, .task-board-category.color-amber, .table-list-category.color-amber, .task-tag.color-amber {background-color: #ffe082;border-color: #ffa000}td.color-amber { background-color: #ffe082}.table-list-row.color-amber {border-left: 5px solid #ffa000}</style>        <link rel="stylesheet" href="/assets/css/vendor.min.css?1630495559" media="screen">        <link rel="stylesheet" href="/assets/css/app.min.css?1630495559" media="screen">        <link rel="stylesheet" href="/assets/css/print.min.css?1630495559" media="print">        
                    <script  defer type="text/javascript" src="/assets/js/vendor.min.js?1630495563"></script>            <script  defer type="text/javascript" src="/assets/js/app.min.js?1630495562"></script>        
        <link rel="stylesheet" href="/plugins/KBCustomPlugin/Assets/css/kb-custom-plugin.css?1669629212" media="screen"><link rel="stylesheet" href="/plugins/ColorManager/Assets/css/color-manager.css?1673492711" media="screen"><link rel="stylesheet" href="/plugins/AgileIndicators/Assets/css/agile-indicators.css?1676418713" media="screen"><link rel="stylesheet" href="/plugins/Glancer/Assets/css/glancer.css?1677847443" media="screen"><link rel="stylesheet" href="/plugins/Coverimage/assets/css/board.css?1631033482" media="screen"><link rel="stylesheet" href="/plugins/PluginManager/Assets/css/plugin-manager.css?1679109138" media="screen"><link rel="stylesheet" href="/plugins/Milestone/Css/milestone.css?1630612912" media="screen"><link rel="stylesheet" href="/plugins/MatomoConnector/Assets/css/matomo-connector.css?1675132896" media="screen"><link rel="stylesheet" href="/plugins/KanboardCSS/Assets/css/kanboardcss-custom.css?1679130272" media="screen"><link rel="stylesheet" href="/plugins/KanboardCSS/Assets/css/kanboardcss.css?1679130272" media="screen"><link rel="stylesheet" href="/plugins/Group_assign/Assets/css/group_assign.css?1662496146" media="screen"><link rel="stylesheet" href="/plugins/MetaMagik/Assets/css/metamagik.css?1666121916" media="screen"><link rel="stylesheet" href="/plugins/KanboardSupport/Assets/css/kanboard-support.css?1675132883" media="screen"><link rel="stylesheet" href="/plugins/ApplicationBranding/Assets/css/application-branding.css?1677300344" media="screen"><link rel="stylesheet" href="/plugins/Wiki/Asset/css/wiki.css?1658042173" media="screen"><link rel="stylesheet" href="/plugins/KanboardEmailHistory/Assets/css/kanboard-email-history.css?1675132871" media="screen"><link rel="stylesheet" href="/plugins/AutomaticActionUX/Assets/css/automatic-action-ux.css?1674649418" media="screen"><link rel="stylesheet" href="/plugins/Bak2topbotm/topbotm.css?1630834318" media="screen"><link rel="stylesheet" href="/plugins/TemplateManager/Assets/css/template-manager.css?1679130077" media="screen"><link rel="stylesheet" href="/plugins/TemplateManager/Assets/css/tooltips.css?1679128387" media="screen"><link rel="stylesheet" href="/plugins/TagManager/Assets/css/tag-manager.css?1679128301" media="screen"><link rel="stylesheet" href="/plugins/Calendar/Assets/fullcalendar.min.css?1630612734" media="screen">        <script  defer type="text/javascript" src="/plugins/Glancer/Assets/js/clipboard-v2.0.11.min.js?1675132636"></script><script  defer type="text/javascript" src="/plugins/Glancer/Assets/js/glancer.js?1675132636"></script><script  defer type="text/javascript" src="/plugins/PluginManager/Assets/js/plugin-manager.js?1678751704"></script><script  defer type="text/javascript" src="/plugins/PluginManager/Assets/js/plugin-manager-top-btn.js?1678751704"></script><script  defer type="text/javascript" src="/plugins/Group_assign/Assets/js/group_assign.js?1656326718"></script><script  defer type="text/javascript" src="/plugins/MetaMagik/Assets/js/meta-drag-and-drop.js?1669614373"></script><script  defer type="text/javascript" src="/plugins/KanboardSupport/Assets/js/kanboard-support.js?1675132883"></script><script  defer type="text/javascript" src="/plugins/ApplicationBranding/Assets/js/application-branding.js?1677300344"></script><script  defer type="text/javascript" src="/plugins/Wiki/Asset/Javascript/wiki.js?1630951692"></script><script  defer type="text/javascript" src="/plugins/KanboardPermalink/Assets/js/permalink.js?1672910448"></script><script  defer type="text/javascript" src="/plugins/Bak2topbotm/topbotm.js?1630834318"></script><script  defer type="text/javascript" src="/plugins/TemplateManager/Assets/js/template-manager.js?1679128387"></script><script  defer type="text/javascript" src="/plugins/Calendar/Assets/moment.min.js?1630612734"></script><script  defer type="text/javascript" src="/plugins/Calendar/Assets/fullcalendar.min.js?1630612734"></script><script  defer type="text/javascript" src="/plugins/Calendar/Assets/locale-all.js?1630612734"></script><script  defer type="text/javascript" src="/plugins/Calendar/Assets/calendar.js?1630612734"></script>
        <link rel="icon" type="image/x-icon" href="/plugins/ApplicationBranding/Assets/img/favicon/favicon.ico">
        <link rel="apple-touch-icon" sizes="57x57" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-57x57.png">
        <link rel="apple-touch-icon" sizes="60x60" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-60x60.png">
        <link rel="apple-touch-icon" sizes="72x72" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-72x72-ipad.png">
        <link rel="apple-touch-icon" sizes="76x76" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-76x76.png">
        <link rel="apple-touch-icon" sizes="114x114" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-114x114-retina.png">
        <link rel="apple-touch-icon" sizes="120x120" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-120x120.png">
        <link rel="apple-touch-icon" sizes="144x144" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-144x144-ipad-retina.png">
        <link rel="apple-touch-icon" sizes="152x152" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-152x152.png">
        <link rel="apple-touch-icon" sizes="180x180" href="/plugins/ApplicationBranding/Assets/img/favicon/apple-icon-180x180.png">
        <link rel="icon" type="image/png" href="/plugins/ApplicationBranding/Assets/img/workspace-icon-500x500.png">
        <link rel="icon" type="image/png" sizes="16x16" href="/plugins/ApplicationBranding/Assets/img/favicon/favicon-16x16.png">
        <link rel="icon" type="image/png" sizes="32x32" href="/plugins/ApplicationBranding/Assets/img/favicon/favicon-32x32.png">
        <link rel="icon" type="image/png" sizes="96x96" href="/plugins/ApplicationBranding/Assets/img/favicon/favicon-96x96.png">
        <link rel="icon" type="image/png" sizes="128x128" href="/plugins/ApplicationBranding/Assets/img/favicon/favicon-128x128.png">
        <link rel="icon" type="image/png" sizes="192x192" href="/plugins/ApplicationBranding/Assets/img/favicon/android-icon-192x192.png">
        <link rel="icon" type="image/png" sizes="196x196" href="/plugins/ApplicationBranding/Assets/img/favicon/favicon-196x196.png">
        <meta name="msapplication-TileColor" content="#2D89EF">
        <meta name="msapplication-TileImage" content="/plugins/ApplicationBranding/Assets/img/favicon/mstile-144x144.png">
        <meta name="msapplication-square70x70logo" content="/plugins/ApplicationBranding/Assets/img/favicon/mstile-70x70.png">
        <meta name="msapplication-square150x150logo" content="/plugins/ApplicationBranding/Assets/img/favicon/mstile-150x150.png">
        <meta name="msapplication-wide310x150logo" content="/plugins/ApplicationBranding/Assets/img/favicon/mstile-310x150.png">
        <meta name="msapplication-square310x310logo" content="/plugins/ApplicationBranding/Assets/img/favicon/mstile-310x310.png">
        <meta name="msapplication-config" content="/plugins/ApplicationBranding/Assets/img/favicon/browserconfig.xml">
        <meta name="theme-color" content="#FFFFFF">
        <link rel="manifest" href="/plugins/ApplicationBranding/Assets/img/favicon/site.webmanifest">
        <link rel="mask-icon" href="/plugins/ApplicationBranding/Assets/img/favicon/safari-pinned-tab.svg" color="#5BBAD5">
                <meta property="og:url" content="https://.../cronjob?token=1ef30a21b3651e17bb6ac0621d7f7e8273b975ba404964a6950abfa8d6ad">
                <meta property="og:image" content="https://.../plugins/ApplicationBranding/Assets/img/workspace-icon-500x500.png">
        <meta property="og:type" content="website">
        <meta property="og:locale" content="en-GB">
        <meta property="og:locale:alternate" content="en_GB">
        <meta property="og:locale:alternate" content="en_US">

        
                    <meta name="description" content="Use this kanban platform to manage your productivity using tasks inside project boards to track files, comments and activities.">
            <meta property="og:description" content="Use this kanban platform to manage your productivity using tasks inside project boards to track files, comments and activities.">
        
                                    <meta property="og:title" content="Access Denied | My Workspace">
                    
        <title>
                            Access Denied                                    | My Workspace                
                    </title>

        
    <!-- MATOMO CODE -->
    <script>
        var _paq = window._paq = window._paq || [];
        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
                _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
                        _paq.push(["setCookieDomain", "*.xxx"]);
                _paq.push(['trackPageView']);
        _paq.push(['enableLinkTracking']);
        (function() {
            var u="https://xx/";
                        _paq.push(['setTrackerUrl', u+'rainbow']);
                        _paq.push(['setSiteId', '10']);
            var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
                        g.async=true; g.src=u+'unicorn'; s.parentNode.insertBefore(g,s);
                    })();
    </script>
    <!-- END OF MATOMO CODE -->

    <!-- MATOMO IMAGE TRACKER -->
                <noscript><p><img
        referrerpolicy="no-referrer-when-downgrade"
        src="https://xxx/&#47;rainbow&#63;idsite=10&amp;rec=1&amp;action_name=" style="border:0" alt="" /></p></noscript>
        <!-- END OF MATOMO CODE -->



    </head>
    <body data-status-url="/?controller=UserAjaxController&amp;action=status"
          data-login-url="/login"
          data-keyboard-shortcut-url="/?controller=DocumentationController&amp;action=shortcuts"
          data-timezone="Europe/London"
          data-js-date-format="dd/mm/yy"
          data-js-time-format="HH:mm"
    >

                    <section id="main">
    <p class="alert alert-error">
        Access Denied    </p>
</section>        </body>
</html>

Can anybody tell me where to look? I suspected it could be a folder permission error, although I have not changed any permissions recently… My folders are set to 0644/0755.

I would check debug.log as a first step. What happens at runtime of cronjob?
Have you a registered action left from a removed plugin?

BTW, that a cronjob throws such HTML messages is really weird.

EDIT:

<title>
    Access Denied | My Workspace
</title>

The cron job is usually run by user www-data, but cannot access “My Workspace”?

The debug.log didnt highlight anythign for me to suspect cron but I will look at it again.

The cron log shows the html content pto the denied message which i found very weird too… at least i know the cron job is still working.

i’m just wondering… if i deleted my action plugin, whilst actions (for that plugin) were still present, then just reinstalled the plugin… would that make a difference? is there a link/cache to the project-acion entries with the plugin? if so, then i would need to delete all my saved actions with that plugin for each project and then install the plugin and create the relevant actions again… maybe that would solve it? any thoughts?

If you delete a plugin, you also remove the code of the actions, but not their registration. After reinstall, everything is fine, as the code is back.

I would check the action table for registrations of uninstalled plugins/actions, that are listening for the event “Daily background job for tasks”.

1 Like

I dont think its my plugin, Im looking at the cron side of things now. Obviously cron is trying to work, but gets denied access…

Did you check your action table?

Please invoke the cron job from the command line with the highest verbosity:

./cli -vvv cronjob

Maybe you’ll get more info.

root@vmi733093:/var/www/my.domain/public_html# ./cli -vvv cronjob
-bash: ./cli: Permission denied
drwxr-xr-x  6 www-data www-data  4096 May 20  2022 assets/
-rw-r--r--  1 www-data www-data 61902 Sep  1  2021 ChangeLog
-rw-r--r--  1 www-data www-data   406 Sep  1  2021 cli
-rw-r--r--  1 www-data www-data  9625 May 21  2022 config.backup.php
-rw-r--r--  1 www-data www-data  9505 Sep  1  2021 config.default.php
-rw-r--r--  1 www-data www-data  9680 Mar 15 09:33 config.php
drwxr-xr-x  3 www-data www-data  4096 Feb 15 22:28 data/

does any of that make sense?

EDIT: It brings up the menu with php cli, let me run the command

Yeah, I don’t know your system. cli is not executable for you.
Still no errors?

no errors, nothing in the logs… but it did the crons and automatically closed the tasks. I will add my plugin again and see if that was the problem then

how strange

But did you run it as web server user it with

sudo -u www-data php cli -vvv cronjob

no but i just did and nothing happened…

root@vmi733093:/var/www/my.domain/public_html# php cli -vvv cronjob
root@vmi733093:/var/www/my.domain/public_html# sudo -u www-data php cli -vvv cronjob
root@vmi733093:/var/www/my.domain/public_html#

i have tagged you in the github issue, i have added the logs there

If anybody else had a permission denied problem during cron schedules, the problem was an incorrect webhook token.

https://docs.kanboard.org/v1/admin/cronjob/

1 Like