..and I am back.Looks like you should go back to your known good backup Image
/etc/asterisk/indications.conf IN_CLOSE_WRITE /bin/cp /var/lib/asterisk/scripts/indications.conf /etc/asterisk
$ crontab -e
crontab: installing new crontab
"/tmp/crontab.B1wE60":1: bad minute


echo "/etc/asterisk/indications.conf IN_CLOSE_WRITE /bin/cp /var/lib/asterisk/scripts/indications.conf /etc/asterisk" >> /etc/incron.d/local
root@vultr:~ $ echo "/etc/asterisk/indications.conf IN_CLOSE_WRITE /bin/cp /var/lib/asterisk/scripts/indications.conf /etc/asterisk">> /etc/incron.d/local
root@vultr:~ $ diff /etc/asterisk/indications.conf /var/lib/asterisk/scripts/indications.conf
8a9,10
> #include indications_custom.conf
>
root@vultr:~ $ rm -f /etc/asterisk/indications.conf # that should screw us, right? BUT OH !!!
root@vultr:~ $ diff /etc/asterisk/indications.conf /var/lib/asterisk/scripts/indications.conf
root@vultr:~ $ rm -f /etc/asterisk/indications.conf # that should screw us, right? BUT OH !!!
root@vultr:~ $ diff /etc/asterisk/indications.conf /var/lib/asterisk/scripts/indications.conf
diff: /etc/asterisk/indications.conf: No such file or directory
Mar 29 13:13:01 vultr /usr/bin/crontab[5328]: (asterisk) LIST (asterisk)
Mar 29 13:13:35 vultr incrond[2127]: system table local created, loading
Mar 29 13:14:01 vultr crond[2012]: (asterisk) RELOAD (/var/spool/cron/asterisk)
Mar 29 13:14:01 vultr CROND[5390]: (asterisk) CMD ([ -x /var/lib/asterisk/bin/schedtc.php ] && /var/lib/asterisk/bin/schedtc.php)
Mar 29 13:14:01 vultr CROND[5391]: (asterisk) CMD ([ -x /var/www/html/admin/modules/dashboard/scheduler.php ] && /var/www/html/admin/modules/dashboard/scheduler.php > /dev/null 2>&1)
Mar 29 13:14:01 vultr /usr/bin/crontab[5401]: (asterisk) LIST (asterisk)
Mar 29 13:14:01 vultr /usr/bin/crontab[5403]: (asterisk) LIST (asterisk)
Mar 29 13:14:01 vultr /usr/bin/crontab[5404]: (asterisk) REPLACE (asterisk)
Mar 29 13:14:01 vultr /usr/bin/crontab[5406]: (asterisk) LIST (asterisk)
Mar 29 13:14:01 vultr /usr/bin/crontab[5408]: (asterisk) LIST (asterisk)
Mar 29 13:14:01 vultr /usr/bin/crontab[5409]: (asterisk) REPLACE (asterisk)
Mar 29 13:14:01 vultr /usr/bin/crontab[5411]: (asterisk) LIST (asterisk)
Mar 29 13:14:34 vultr incrond[2127]: (system::local) CMD (/bin/cp /var/lib/asterisk/scripts/indications.conf /etc/asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5545]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5547]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5549]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5551]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5553]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5555]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5557]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5559]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5561]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5563]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5564]: (root) REPLACE (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5566]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5568]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5569]: (root) REPLACE (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5571]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5573]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5575]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5577]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5579]: (root) LIST (root)
Mar 29 13:14:55 vultr /usr/bin/crontab[5581]: (root) LIST (asterisk)
Mar 29 13:14:55 vultr /usr/bin/crontab[5583]: (root) LIST (asterisk)
Mar 29 13:15:01 vultr crond[2012]: (asterisk) RELOAD (/var/spool/cron/asterisk)
Mar 29 13:15:01 vultr CROND[5612]: (asterisk) CMD ([ -x /var/www/html/admin/modules/dashboard/scheduler.php ] && /var/www/html/admin/modules/dashboard/scheduler.php > /dev/null 2>&1)
Mar 29 13:15:01 vultr CROND[5613]: (asterisk) CMD (/usr/sbin/fwconsole userman --syncall -q)
Mar 29 13:15:01 vultr CROND[5614]: (asterisk) CMD ([ -x /var/lib/asterisk/bin/schedtc.php ] && /var/lib/asterisk/bin/schedtc.php)
Mar 29 13:15:01 vultr /usr/bin/crontab[5627]: (asterisk) LIST (asterisk)
Mar 29 13:15:01 vultr /usr/bin/crontab[5629]: (asterisk) LIST (asterisk)
Mar 29 13:15:01 vultr /usr/bin/crontab[5630]: (asterisk) REPLACE (asterisk)
Mar 29 13:15:01 vultr /usr/bin/crontab[5632]: (asterisk) LIST (asterisk)
Mar 29 13:15:01 vultr /usr/bin/crontab[5634]: (asterisk) LIST (asterisk)
Mar 29 13:15:01 vultr /usr/bin/crontab[5635]: (asterisk) REPLACE (asterisk)
Mar 29 13:15:01 vultr /usr/bin/crontab[5637]: (asterisk) LIST (asterisk)
/etc/asterisk/indications.conf IN_CLOSE_WRITE /var/lib/asterisk/scripts/watch-indications.sh
#!/bin/sh
#set these to appropriate paths for your system
alias diff=/usr/bin/diff
alias cp=/bin/cp
alias logger=/bin/logger
(
diff -sq /var/lib/asterisk/scripts/indications.conf /etc/asterisk/indications.conf || {
echo replacing target with backup
cp /var/lib/asterisk/scripts/indications.conf /etc/asterisk
}
) 2>&1 | logger -t watch-indications
Apr 1 16:34:43 vultr watch-indications: Files /var/lib/asterisk/scripts/indications.conf and /etc/asterisk/indications.conf differ
Apr 1 16:34:43 vultr watch-indications: replacing target with backup
Apr 1 16:34:43 vultr watch-indications: Files /var/lib/asterisk/scripts/indications.conf and /etc/asterisk/indications.conf are identical
Apr 1 16:35:06 vultr watch-indications: Files /var/lib/asterisk/scripts/indications.conf and /etc/asterisk/indications.conf differ
Apr 1 16:35:06 vultr watch-indications: replacing target with backup
Apr 1 16:35:06 vultr watch-indications: Files /var/lib/asterisk/scripts/indications.conf and /etc/asterisk/indications.conf are identical
a: No reason that matters. Bash is not always present on some systems I use. Use whatever shell/language you want.2. @jerrm #28 incron method
a. Other scripts on my Centos use #!/bin/bash instead of #!/bin/sh and the script works with bash. Any reason you used sh?
b. Does your script run twice after every reload?
1st time: After a reload, when FreePBX copies the default system file to /etc/asterisk/indications.conf;c. I found a log in /var/log/messages. Very nice! Curious if there are more logs (Centos)?
2nd time: After the script runs and copies /var/lib/asterisk/scripts/indications.conf to /etc/asterisk/indications.conf;
a: Yes, adding a _custom include seems appropriate. Have to wonder if they had a reason not to already have one.3. As you indicated, this really should be fixed by FreePBX.
a. Do you agree with me that a simple fix would be to suggest to
#include indications_custom.conf to /etc/asterisk/indications.conf by default?
b. I am happy to follow-up with FreePBX people. Can you indicate where I can do this?
@dicko @jerrm thanks a lot for your contributions and amazing solutions.
I do not fully follow what you wrote in post #29-33, but if I understand correctly, you both indicated a proper working solution that avoids a loop/race condition.
I do have quite some questions to test my understanding (and due to a lack of knowledge):
1. @dicko #27: cron(tab) method
a. if /etc/asterisk/indications.conf does not contain tonecodes for za, then the script will copy /var/lib/asterisk/scripts/indications.conf, right?
b. /var/lib/asterisk/scripts/indications.conf should always have za tonezone, right?
c. The script assumes your default tonezone (in the FreePBX UI) is not za (South Africa), right?
d. This does not work for Germany as your default tonezone in /var/lib/asterisk/scripts/indications.conf, why?
e. This does not work for Taiwan as your default tonezone in /var/lib/asterisk/scripts/indications.conf, why?
f. The last action of the script is: rasterisk -x 'core reload', why? Would fwconsole restart (not fwconsole reload which alters indications.conf again) be an option?u
Officially report the issue at: https://wiki.freepbx.org/display/FOP/Bug+Reporting. Also worth opening a thread in the forums at https://community.freepbx.org/. If a few "me too" responses pop up it might help move things along.
Link up your team and customers Phone System
Live Chat
Video Conferencing
Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.
Check your inbox!
We’ve sent you an email. Click on the button in the email body to verify your email address – (if you can not find it, check your spam folder).
Upon verification you will be directed to the 3CX setup wizard.