|
||
---|---|---|
LICENSE | ||
README.md | ||
synchole.sh |
README.md
synchole
Shell script to syncronize a SLAVE pi-hole server with a MASTER pi-hole server. It downloads blacklist.txt, whitelist.txt and regex.list from the MASTER, updates local files and runs updateGravity
on the SLAVE.
Setup
-
Login via SSH to the
MASTER
server. -
Create symlinks for all files you want to be able to sync within the webroot of the
MASTER
pihole.
cd /var/www/html
sudo mkdir synchole
cd synchole
sudo ln -s /etc/pihole/whitelist.txt .
sudo ln -s /etc/pihole/blacklist.txt .
sudo ln -s /etc/pihole/regex.list .
-
Login via SSH to the
SLAVE
server. -
Install wget and synchole on the
SLAVE
server.
sudo apt-get update
sudo apt-get install wget
sudo wget https://socialg.it/david/synchole/raw/master/synchole.sh -O /usr/bin/synchole
sudo chmod +x /usr/bin/synchole
- Configure the synchole script to your liking.
sudo vim /usr/bin/synchole
The config section is at the top of the script.
- Create a cron job for synchole on the
SLAVE
server.
sudo crontab -e
Example cronjob: */5 * * * * /usr/bin/synchole
(this runs synchole every 5 minutes)
-
Repeat steps 3 through 6 for additional
SLAVE
servers. -
Happy syncholeing!
Update
-
To update synchole login via SSH to the
SLAVE
server. -
Run the following commands (again) on the
SLAVE
server.
sudo wget https://socialg.it/david/synchole/raw/master/synchole.sh -O /usr/bin/synchole
sudo chmod +x /usr/bin/synchole
Uninstall
-
To uninstall synchole login via SSH to the
SLAVE
server. -
Run the following command on the
SLAVE
server.
sudo rm /usr/bin/synchole
-
Login via SSH to the
MASTER
server. -
Run the following command on the
MASTER
server.
sudo rm -r /var/www/html/synchole
- Enjoy inconsistent states between your servers. ;-)