<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>On Sun, Jan 27, 2019 at 6:36 AM James Abernathy <<a href="mailto:jfabernathy@gmail.com">jfabernathy@gmail.com</a>> wrote:<br></div></div></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">When I upgraded from v29.1 to v30 I got a question during the upgrade <br>
that asked about the cron.weekly job mythtv-database. It asked about <br>
keeping the current one or installing the packager maintained one. For <br>
some reason I decided replace mine with the packager's maintained one. I <br>
wasn't concerned since I've been using a different daily script to <br>
check, optimize and backup mythconverg.<br>
<br>
So Sunday morning early I see and error:<br>
<br>
/etc/cron.weekly/mythtv-database:<br>
/etc/cron.weekly/mythtv-database: 17: /etc/cron.weekly/mythtv-database: USER: parameter not set<br>
run-parts: /etc/cron.weekly/mythtv-database exited with return code 2<br>
<br>
I'm not sure if this is problem for others. I see this error because all <br>
cron and anacron errors and messages are emailed to me.<br></blockquote><div><br></div><div>I had the same issue occur this morning with the cron.weekly job.  The old file was not in /etc/cron.weekly but i have backups of the original thanks to btrfs snapshotting.  </div><div><br></div><div>Comparing the two, the new cron job file has some logic that attempts to set the $USER variable by reading out the 'mythtv-backend' file in /etc/default if the file exists.  I don't have this file in my installation and the if/then/else fall-back logic doesn't seem to work properly as it appears $USER isn't set to "" as expected if the file doesn't exist.</div><div><br></div><div><b>old file:</b></div><div><div><div>#!/bin/sh</div><div># /etc/cron.weekly/mythtv-database script - check and backup mythconverg tables</div><div># Copyright 2005/12/02 2006/10/08 Paul Andreassen</div><div>#                      2010 Mario Limonciello</div><div>set -e -u</div><div>DBNAME="mythconverg"</div><div>DEBIAN="--defaults-extra-file=/etc/mysql/debian.cnf"</div><div>/usr/bin/mysqlcheck $DEBIAN -s $DBNAME</div><div>/usr/share/mythtv/<a href="http://mythconverg_backup.pl">mythconverg_backup.pl</a></div><div>/usr/bin/logger -p <a href="http://daemon.info">daemon.info</a> -i -t${0##*/} "$DBNAME checked and backed up."</div><div># End of file.</div></div><div><br></div><div><b>new file:</b></div><div><div>#!/bin/sh</div><div># /etc/cron.weekly/mythtv-database script - check and backup mythconverg tables</div><div># Copyright 2005/12/02 2006/10/08 Paul Andreassen</div><div>#                      2010 Mario Limonciello</div></div><div>set -e -u</div><div>DBNAME="mythconverg"</div><div>DEBIAN="--defaults-extra-file=/etc/mysql/debian.cnf"</div><div>/usr/bin/mysqlcheck $DEBIAN -s $DBNAME</div><div>if [ -e "/etc/default/mythtv-backend" ]; then</div><div>   . /etc/default/mythtv-backend</div><div>fi</div><div>if [ "$USER" = "" ]; then</div><div>   CMDPREFIX=""</div><div>else</div><div>   CMDPREFIX="sudo -u $USER"</div><div>fi</div><div>$CMDPREFIX /usr/share/mythtv/<a href="http://mythconverg_backup.pl">mythconverg_backup.pl</a></div><div>/usr/bin/logger -p <a href="http://daemon.info">daemon.info</a> -i -t${0##*/} "$DBNAME checked and backed up."</div><div># End of file.</div></div><div><br></div><div>For now, I just added a new line to the new cron.weekly job that explicitly sets user to mythtv which allows the cron job to complete. I had never noticed before but the database backups made with the old job are owned by root while the new ones are owned by mythtv which makes sense and is probably preferred.</div></div></div></div>