/etc/crontab should never be modified. instead use /etc/cron.d to install cron tasks

This commit is contained in:
Josh Kastang 2016-01-10 09:29:38 -05:00
parent e9a3ea6508
commit 8b51e44074
3 changed files with 23 additions and 18 deletions

View file

@ -1,17 +1,3 @@
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
# Pi-hole: Update the ad sources once a week on Sunday at 01:59 # Pi-hole: Update the ad sources once a week on Sunday at 01:59
# Download any updates from the ad lists # Download any updates from the ad lists
@ -24,3 +10,4 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Pi-hole: Flush the log daily at 11:58 so it doesn't get out of control # Pi-hole: Flush the log daily at 11:58 so it doesn't get out of control
# Stats will be viewable in the Web interface thanks to the cron job above # Stats will be viewable in the Web interface thanks to the cron job above
58 11 * * * root /usr/local/bin/piholeLogFlush.sh 58 11 * * * root /usr/local/bin/piholeLogFlush.sh

View file

@ -255,8 +255,11 @@ curl -o /var/www/html/pihole/index.html https://raw.githubusercontent.com/jacobs
} }
installCron(){ installCron(){
mv /etc/crontab /etc/crontab.orig curl -o /etc/cron.d/pihole https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/advanced/pihole.cron
curl -o /etc/crontab https://raw.githubusercontent.com/jacobsalmela/pi-hole/master/advanced/pihole.cron
# in most cases, cron should pickup pihole automatically but to avoid
# any edge cases, the service should be restarted.
service cron restart
} }
installPihole() installPihole()

View file

@ -20,8 +20,23 @@ apt-get -y remove --purge dnsmasq
apt-get -y remove --purge lighttpd php5-common php5-cgi php5 apt-get -y remove --purge lighttpd php5-common php5-cgi php5
rm -rf /var/www/html rm -rf /var/www/html
rm /etc/dnsmasq.conf /etc/dnsmasq.conf.orig rm /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
rm /etc/crontab
# attempt to preserve backwards compatibility with older versions
# to gaurentee no additional changes were made to /etc/crontab after
# the installation of pihole, /etc/crontab.pihole should be permanently
# preserved.
# @TODO: debugging statement alerting user of this.
if [ -f /etc/crontab.orig ]; then
mv /etc/crontab /etc/crontab.pihole
mv /etc/crontab.orig /etc/crontab mv /etc/crontab.orig /etc/crontab
service cron restart
fi
# attempt to preserve backwards compatibility with older versions
if [ -f /etc/cron.d/pihole ]; then
rm /etc/cron.d/pihole
fi
rm /etc/dnsmasq.conf rm /etc/dnsmasq.conf
rm -rf /etc/lighttpd/ rm -rf /etc/lighttpd/
rm /var/log/pihole.log rm /var/log/pihole.log