MagicMirror² v2.12.0 is available! For more information about this release, check out this topic.

Cronjob doesn't work with my MM



  • Hi everybody

    I have a problem with crontab and cronjob. My magicmirror doesn’t stop or refresh or restart or start with a cronjob.

    I search a solution on the forum but i still have the problem

    I use crontab -e without sudo and pm2 launch my magicmirror in /home/pi/MagicMirror

    my crontab seems like:

    # m h  dom mon dow   command
    01 00 * * *   pi     /home/pi/pm2 stop MagicMirror
    03 00 * * *   pi     /home/pi/pm2 reload MagicMirror
    00 08 * * *   pi     /home/pi/pm2 stop MagicMirror
    03 08 * * *   pi     /home/pi/pm2 reload MagicMirror
    52 14 * * *   pi     pm2 stop MagicMirror >/dev/null 2>&1
    18 20 * * *   pi     /home/pi/MagicMirror/pm2 start MagicMirror
    
    

    i try different solution but nothing happens.

    Can anybody help me please?

    Thx for next answers



  • does anything show in the pm2 logs?

    pm2 logs --lines=100 (or more)
    

    pm2 is sensitive to the user who created the entries (pm2 start/save), as they are stored in the users home folder in .pm2 (notice the dot in the start of the name)



  • ok so with this crontab

    51 15 * * * pi pm2 stop MagicMirror >/dev/null 2>&1
    53 15 * * * pi pm2 start MagicMirror

    i have in .pm2/logs

    2020-05-16T14:49:45: PM2 log: App [MagicMirror:0] starting in -fork mode-
    2020-05-16T14:49:45: PM2 log: App [MagicMirror:0] online
    2020-05-16T14:52:43: PM2 log: Stopping app:MagicMirror id:0
    2020-05-16T14:52:44: PM2 log: pid=15018 msg=failed to kill - retrying in 100ms
    2020-05-16T14:52:44: PM2 log: App [MagicMirror:0] exited with code [0] via signal [SIGINT]
    2020-05-16T14:52:44: PM2 log: pid=15018 msg=process killed
    2020-05-16T15:39:20: PM2 log: [PM2] This PM2 is not UP TO DATE
    2020-05-16T15:39:20: PM2 log: [PM2] Upgrade to version 4.4.0
    2020-05-16T15:49:50: PM2 log: App [MagicMirror:0] starting in -fork mode-
    2020-05-16T15:49:50: PM2 log: App [MagicMirror:0] online
    2020-05-16T15:55:25: PM2 log: Stopping app:MagicMirror id:0
    2020-05-16T15:55:26: PM2 log: pid=16655 msg=failed to kill - retrying in 100ms
    2020-05-16T15:55:26: PM2 log: App [MagicMirror:0] exited with code [0] via signal [SIGINT]
    2020-05-16T15:55:26: PM2 log: pid=16655 msg=process killed
    

    and cron logs:

    May 16 15:48:21 raspberrypi crontab[16627]: (pi) BEGIN EDIT (pi)
    May 16 15:49:40 raspberrypi crontab[16627]: (pi) REPLACE (pi)
    May 16 15:49:40 raspberrypi crontab[16627]: (pi) END EDIT (pi)
    May 16 15:50:01 raspberrypi cron[410]: (pi) RELOAD (crontabs/pi)
    May 16 15:51:02 raspberrypi CRON[17002]: (pi) CMD (pi     pm2 stop MagicMirror >/dev/null 2>&1)
    May 16 15:53:01 raspberrypi CRON[17032]: (pi) CMD (pi     pm2 start MagicMirror)
    May 16 15:53:01 raspberrypi CRON[17026]: (CRON) info (No MTA installed, discarding output)
    

    so i don’t understand nothing on pm2 but cronjob seems to work

    Have you an idea?



  • @MisterT do a pm2 flush to clear the log, then also show the error log… (its above the log output)
    or look at the files in the ~/./pm2/logs folder

    i looks like it works



  • ok so with pm2 flush and this crontab

    52 12 * * *   pi     pm2 stop MagicMirror >/dev/null 2>&1
    54 12 * * *   pi     pm2 start MagicMirror
    
    

    the pm2 logs :
    pm2 errors

    [12:51:04.343] [ERROR]  ERROR! Could not find main module js file for MMM-GooglemapsTraffic.original
    ATTENTION: default value of option force_s3tc_enable overridden by environment.
    [12:51:08.418] [ERROR]  ERROR! Could not find main module js file for MagicMirror-Display-Controller
    [12:51:09.801] [ERROR]  ERROR! Could not find main module js file for fabio
    [12:51:21.774] [ERROR]  (node:25245) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    [12:51:35.140] [ERROR]  Error: status code: 401
        at /home/pi/MagicMirror/modules/MMM-FreeBox-Monitor/node_modules/omdb/index.js:211:25
        at done (/home/pi/MagicMirror/modules/MMM-FreeBox-Monitor/node_modules/needle/lib/needle.js:432:14)
        at PassThrough. (/home/pi/MagicMirror/modules/MMM-FreeBox-Monitor/node_modules/needle/lib/needle.js:671:11)
        at PassThrough.emit (events.js:182:13)
        at endReadableNT (_stream_readable.js:1090:12)
        at process._tickCallback (internal/process/next_tick.js:63:19)
    

    pm2 out

    
    > magicmirror@2.10.1 start /home/pi/MagicMirror
    > ./run-start.sh
    
    [12:50:32.600] [LOG]    Starting MagicMirror: v2.10.1
    [12:50:32.632] [LOG]    Loading config ...
    [12:50:32.668] [LOG]    Loading module helpers ...
    [12:50:32.670] [LOG]    No helper found for module: alert.
    [12:50:32.820] [LOG]    Initializing new module helper ...
    [12:50:32.826] [LOG]    Module helper loaded: updatenotification
    [12:50:32.829] [LOG]    No helper found for module: clock.
    [12:50:34.340] [LOG]    Initializing new module helper ...
    [12:50:34.341] [LOG]    Module helper loaded: calendar
    [12:50:34.343] [LOG]    No helper found for module: weatherforecast.
    [12:50:34.471] [LOG]    Initializing new module helper ...
    [12:50:34.472] [LOG]    Module helper loaded: newsfeed
    [12:50:34.483] [LOG]    No helper found for module: MMM-Globe.
    [12:50:35.854] [LOG]    Initializing new module helper ...
    [12:50:35.856] [LOG]    Module helper loaded: MMM-MovieListings
    [12:50:35.862] [LOG]    No helper found for module: MMM-Scrobbler.
    [12:50:37.296] [LOG]    Initializing new module helper ...
    [12:50:37.297] [LOG]    Module helper loaded: MMM-soccer
    [12:50:44.499] [LOG]    Initializing new module helper ...
    [12:50:44.501] [LOG]    Module helper loaded: MMM-News
    [12:50:44.521] [LOG]    Initializing new module helper ...
    [12:50:44.528] [LOG]    Module helper loaded: WallberryTheme
    [12:50:44.532] [LOG]    No helper found for module: WB-clock.
    [12:50:44.541] [LOG]    Initializing new module helper ...
    [12:50:44.543] [LOG]    Module helper loaded: WB-weather
    [12:50:44.578] [LOG]    Initializing new module helper ...
    [12:50:44.580] [LOG]    Module helper loaded: MMM-GroveGestures
    [12:50:45.966] [LOG]    Initializing new module helper ...
    [12:50:45.967] [LOG]    Module helper loaded: MMM-AQI
    [12:50:48.096] [LOG]    Initializing new module helper ...
    [12:50:48.099] [LOG]    Check MagicMirror version for node helper 'MMM-Strava' - Minimum version:  2.2.0 - Current version: 2.10.1
    [12:50:48.101] [LOG]    Version is ok!
    [12:50:48.102] [LOG]    Module helper loaded: MMM-Strava
    [12:50:48.834] [LOG]    Initializing new module helper ...
    [12:50:48.836] [LOG]    Module helper loaded: MMM-GooglePhotos
    [12:50:51.424] [LOG]    Initializing new module helper ...
    [12:50:51.426] [LOG]    Module helper loaded: MMM-FreeBox-Monitor
    [12:50:51.428] [LOG]    No helper found for module: currentweather.
    [12:50:51.434] [LOG]    No helper found for module: domoticz.
    [12:50:51.692] [LOG]    Initializing new module helper ...
    [12:50:51.694] [LOG]    Module helper loaded: MMM-ModuleScheduler
    [12:50:51.935] [LOG]    Initializing new module helper ...
    [12:50:51.936] [LOG]    Module helper loaded: MMM-Remote-Control
    [12:50:53.520] [LOG]    Initializing new module helper ...
    [12:50:53.522] [LOG]    Module helper loaded: MMM-NowPlayingOnSpotify
    [12:50:54.681] [LOG]    Initializing new module helper ...
    [12:50:54.687] [LOG]    Module helper loaded: MMM-COVID19-SPARKLINE
    [12:50:55.499] [LOG]    Initializing new module helper ...
    [12:50:55.500] [LOG]    Module helper loaded: MMM-Hotword
    [12:51:01.172] [LOG]    Initializing new module helper ...
    [12:51:01.173] [LOG]    Module helper loaded: MMM-AssistantMk2
    [12:51:01.176] [LOG]    No helper found for module: MMM-pages.
    [12:51:01.180] [LOG]    No helper found for module: MMM-page-indicator.
    [12:51:01.182] [LOG]    All module helpers loaded.
    [12:51:01.187] [LOG]    Starting server on port 8080 ... 
    [12:51:01.197] [INFO]   You're using a full whitelist configuration to allow for all IPs
    [12:51:01.210] [LOG]    Server started ...
    [12:51:01.215] [LOG]    Connecting socket for: updatenotification
    [12:51:01.219] [LOG]    Connecting socket for: calendar
    [12:51:01.222] [LOG]    Starting node helper for: calendar
    [12:51:01.225] [LOG]    Connecting socket for: newsfeed
    [12:51:01.228] [LOG]    Starting module: newsfeed
    [12:51:01.230] [LOG]    Connecting socket for: MMM-MovieListings
    [12:51:01.231] [LOG]    MMM-MovieListing helper started...
    [12:51:01.233] [LOG]    Connecting socket for: MMM-soccer
    [12:51:01.234] [LOG]    Starting module: MMM-soccer
    [12:51:01.235] [LOG]    Connecting socket for: MMM-News
    [12:51:01.237] [LOG]    Connecting socket for: WallberryTheme
    [12:51:01.238] [LOG]    Starting module helper: WallberryTheme
    [12:51:01.239] [LOG]    Connecting socket for: WB-weather
    [12:51:01.242] [LOG]    Connecting socket for: MMM-GroveGestures
    [12:51:01.245] [LOG]    Connecting socket for: MMM-AQI
    [12:51:01.247] [LOG]    MMM-AQI helper started ...
    [12:51:01.250] [LOG]    Connecting socket for: MMM-Strava
    [12:51:01.253] [LOG]    Starting module helper: MMM-Strava
    [12:51:01.258] [LOG]    Connecting socket for: MMM-GooglePhotos
    [12:51:01.261] [LOG]    Connecting socket for: MMM-FreeBox-Monitor
    [12:51:01.265] [LOG]    Starting module: MMM-FreeBox-Monitor
    [12:51:01.266] [LOG]    Connecting socket for: MMM-ModuleScheduler
    [12:51:01.267] [LOG]    Starting node helper for: MMM-ModuleScheduler
    [12:51:01.269] [LOG]    Connecting socket for: MMM-Remote-Control
    [12:51:01.270] [LOG]    Starting node helper for: MMM-Remote-Control
    [12:51:01.293] [LOG]    Connecting socket for: MMM-NowPlayingOnSpotify
    [12:51:01.296] [LOG]    Connecting socket for: MMM-COVID19-SPARKLINE
    [12:51:01.297] [LOG]    Starting node helper for: MMM-COVID19-SPARKLINE
    [12:51:01.298] [LOG]    Connecting socket for: MMM-Hotword
    [12:51:01.299] [LOG]    [HOTWORD] MMM-Hotword starts
    [12:51:01.301] [LOG]    Connecting socket for: MMM-AssistantMk2
    [12:51:01.302] [LOG]    Sockets connected & modules started ...
    [12:51:02.126] [LOG]    Launching application.
    [12:51:20.629] [LOG]    Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/lxxxxxxx/basic.ics - Interval: 300000
    [12:51:20.672] [LOG]    Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/xxxxxx/basic.ics - Interval: 300000
    [12:51:20.866] [LOG]    Create new news fetcher for url: https://www.francetvinfo.fr/titres.rss - Interval: 300000
    [12:51:21.153] [LOG]    Get league table for url http://api.football-data.org/v2/competitions/FL1/standings
    [12:51:21.209] [LOG]    [NEWS] Initialized.
    [12:51:21.298] [LOG]    FREEBOX: "CONNECT" [object Object]
    [12:51:21.308] [LOG]    { track_id: 0,
      app_token:
       'rxxxxxxx,
      appId: 'fr.freebox',
      challenge: 'xxxxxxxxxxx',
      session_token:
       'xa5r1W+kxfU+tnnR9U/10YzBJ1/xxxxxxxx }
    [12:51:21.355] [LOG]    MMM-ModuleScheduler is removing all scheduled jobs
    [12:51:21.356] [LOG]    MMM-ModuleScheduler received CREATE_NOTIFICATION_SCHEDULE
    [12:51:21.360] [LOG]    MMM-ModuleScheduler is scheduling SHOW_ALERT using "35 11 * * *
    [12:51:21.445] [LOG]    MMM-ModuleScheduler has scheduled SHOW_ALERT
    [12:51:21.461] [LOG]    MMM-ModuleScheduler will next send SHOW_ALERT at Mon May 18 2020 11:35:00 GMT+0200 (CEST)
    [12:51:21.463] [LOG]    MMM-ModuleScheduler is scheduling SHOW_ALERT using "13 15 * * *
    [12:51:21.477] [LOG]    MMM-ModuleScheduler has scheduled SHOW_ALERT
    [12:51:21.485] [LOG]    MMM-ModuleScheduler will next send SHOW_ALERT at Sun May 17 2020 15:13:00 GMT+0200 (CEST)
    [12:51:21.486] [LOG]    MMM-ModuleScheduler is scheduling REMOTE_ACTION using "55 11 * * *
    [12:51:21.502] [LOG]    MMM-ModuleScheduler has scheduled REMOTE_ACTION
    [12:51:21.540] [LOG]    MMM-ModuleScheduler will next send REMOTE_ACTION at Mon May 18 2020 11:55:00 GMT+0200 (CEST)
    [12:51:21.544] [LOG]    MMM-ModuleScheduler is scheduling REMOTE_ACTION using "00 08 * * *
    [12:51:21.556] [LOG]    MMM-ModuleScheduler has scheduled REMOTE_ACTION
    [12:51:21.570] [LOG]    MMM-ModuleScheduler will next send REMOTE_ACTION at Mon May 18 2020 08:00:00 GMT+0200 (CEST)
    [12:51:21.573] [LOG]    MMM-ModuleScheduler is scheduling REMOTE_ACTION using "00 19 * * *
    [12:51:21.583] [LOG]    MMM-ModuleScheduler has scheduled REMOTE_ACTION
    [12:51:21.587] [LOG]    MMM-ModuleScheduler will next send REMOTE_ACTION at Sun May 17 2020 19:00:00 GMT+0200 (CEST)
    [12:51:21.642] [LOG]    [COVID:CORE] Scan starts.
    [12:51:21.739] [LOG]    [HOTWORD] Recipe is loaded: with-AMk2v3_Jarvis.js
    [12:51:22.200] [LOG]    CallbackGetChallenge -> [object Object]
    [12:51:22.722] [LOG]    Electron's cache successfully cleared.
    [12:51:23.375] [LOG]    Refreshed access token because it has expired. Expired at: 12:51:21 now is: 12:51:23
    [12:51:25.260] [LOG]    [NEWS] Articles are aggregated :  45
    [12:51:25.784] [LOG]    [HOTWORD] begins.
    [12:51:25.788] [LOG]    [HOTWORD] Detector starts listening.
    [12:51:26.050] [LOG]    [COVID:CORE] Access to data source.
    [12:51:27.283] [LOG]    [COVID:CORE] Resolving: csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv
    [12:51:27.963] [LOG]    [COVID:CORE] Resolving: csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv
    [12:51:30.338] [LOG]    [COVID:CORE] Resolving: csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
    [12:51:30.422] [LOG]    can't find property recovered Canada:
    [12:51:30.423] [LOG]    adding...
    [12:51:30.677] [LOG]    [COVID:CORE] Calculating Wordlwide total.
    [12:51:30.888] [LOG]    [COVID:CORE] Scan Completed.
    [12:51:33.466] [LOG]    [AMK2] MMM-AssistantMk2 Version: 3.3.0
    [12:51:33.478] [LOG]    [AMK2] Response delay is set to 0.5 second
    [12:51:33.481] [LOG]    [AMK2] Use HTML5 for audio response
    [12:51:33.496] [LOG]    [AMK2] RECIPE_LOADED: with-MMM-Hotword.js
    [12:51:33.498] [LOG]    [AMK2] NO_ACTION_TO_MANAGE
    [12:51:33.521] [LOG]    [AMK2] ASSISTANT_WEB Started
    [12:51:33.538] [LOG]    [AMK2] AssistantMk2 is initialized.
    [12:51:33.906] [LOG]    FREEBOX: "GET_CALLS" [object Object]
    [12:51:33.960] [LOG]    FREEBOX: "GET_DOWNLOADS" [object Object]
    [12:51:34.090] [LOG]    FREEBOX: "GET_CONNECTIONSTATUS" [object Object]
    [12:55:40.854] [LOG]    Shutting down server...
    [12:55:40.865] [LOG]    Stopping module helper: updatenotification
    [12:55:40.876] [LOG]    Stopping module helper: calendar
    [12:55:40.882] [LOG]    Stopping module helper: newsfeed
    [12:55:40.884] [LOG]    Stopping module helper: MMM-MovieListings
    [12:55:40.886] [LOG]    Stopping module helper: MMM-soccer
    [12:55:40.891] [LOG]    Stopping module helper: MMM-News
    [12:55:40.897] [LOG]    Stopping module helper: WallberryTheme
    [12:55:40.903] [LOG]    Stopping module helper: WB-weather
    [12:55:40.914] [LOG]    Stopping module helper: MMM-AQI
    [12:55:40.916] [LOG]    Stopping module helper: MMM-Strava
    [12:55:40.918] [LOG]    Stopping module helper: MMM-GooglePhotos
    [12:55:40.920] [LOG]    Stopping module helper: MMM-FreeBox-Monitor
    [12:55:40.921] [LOG]    Stopping module helper: MMM-ModuleScheduler
    [12:55:40.932] [LOG]    Stopping module helper: MMM-NowPlayingOnSpotify
    [12:55:40.936] [LOG]    Stopping module helper: MMM-COVID19-SPARKLINE
    [12:55:40.941] [LOG]    Stopping module helper: MMM-Hotword
    [12:55:40.946] [LOG]    Stopping module helper: MMM-AssistantMk2
    
    

    and cron log

    May 17 12:49:33 raspberrypi crontab[25141]: (pi) BEGIN EDIT (pi)
    May 17 12:50:12 raspberrypi crontab[25141]: (pi) REPLACE (pi)
    May 17 12:50:12 raspberrypi crontab[25141]: (pi) END EDIT (pi)
    May 17 12:51:01 raspberrypi cron[410]: (pi) RELOAD (crontabs/pi)
    May 17 12:52:01 raspberrypi CRON[25574]: (pi) CMD (pi     pm2 stop MagicMirror >/dev/null 2>&1)
    May 17 12:54:01 raspberrypi CRON[25592]: (pi) CMD (pi     pm2 start MagicMirror)
    May 17 12:54:01 raspberrypi CRON[25582]: (CRON) info (No MTA installed, discarding output)
    

    Do you see something wrong ?



  • @MisterT said in Cronjob doesn’t work with my MM:

    [12:51:04.343] [ERROR] ERROR! Could not find main module js file for MMM-GooglemapsTraffic.original
    ATTENTION: default value of option force_s3tc_enable overridden by environment.
    [12:51:08.418] [ERROR] ERROR! Could not find main module js file for MagicMirror-Display-Controller
    [12:51:09.801] [ERROR] ERROR! Could not find main module js file for fabio

    you should add

    disabled: true,
    

    to those three modules in you config.js
    right after the module name

    the times don’t line up on the reports…
    cron log

    May 17 12:52:01 raspberrypi CRON[25574]: (pi) CMD (pi     pm2 stop MagicMirror >/dev/null 2>&1)
    

    pm2 log

    [12:55:40.854] [LOG]    Shutting down server...
    

    take this off the shutdown command
    pm2 stop MagicMirror >/dev/null 2>&1
    add a couple commands to the cron right in front of the shutdown

    pm2 info 0
    pm2 status 0
    

    these should output to the cron log



  • @MisterT

    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
    SHELL=/bin/bash

    0 20 * * * pm2 stop mm
    0 6 * * 1-5 pm2 start mm



  • @chassain-0 i tried your solution but still not work, same with pm2 stop/start MagicMirror

    @sdetweil with this cron

    44 18 * * * pi pm2 start MagicMirror > pm2 status 0
    or
    46 18 * * * pi pm2 start MagicMirror > pm2 info 0

    i had a log in pi folder at the same time but a blank log

    I tested my cron with a simple Hello word .py and cronjob works.

    have you an other solution ?



  • @MisterT pm2 is a big node application, so if needs to be in the right folder and process



  • Hello MisterT
    I’m not an expert, I’m more of a beginner, but I tried to use a cronjob to stop and start the mirror on my mirror.

    10 23 * * * pm2 stop mm> / dev / null 2> & 1
    15 23 * * * pm2 start mm> / dev / null 2> & 1
    it worked for me.
    I use the MagicMirror² v2.11.0 and NAME = “Raspbian GNU / Linux”
    VERSION_ID = “10”
    VERSION = “10 (buster)”
    VERSION_CODENAME = buster.
    With older versions of the software I always had problems starting MagicMirror because of access violations with pm2 after a reboot.
    Maybe this will help you solve your problem.


Log in to reply