david/synchole
david
/
synchole
Archived
1
0
Fork 0
This repository has been archived on 2023-12-23. You can view files and clone it, but cannot push or open issues or pull requests.
synchole/README.md

1.9 KiB

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

  1. Login via SSH to the MASTER server.

  2. 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 .
  1. Login via SSH to the SLAVE server.

  2. 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
  1. Configure the synchole script to your liking.
sudo vim /usr/bin/synchole

The config section is at the top of the script.

  1. 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)

  1. Repeat steps 3 through 6 for additional SLAVE servers.

  2. Happy syncholeing!

Update

  1. To update synchole login via SSH to the SLAVE server.

  2. 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

  1. To uninstall synchole login via SSH to the SLAVE server.

  2. Run the following command on the SLAVE server.

sudo rm /usr/bin/synchole
  1. Login via SSH to the MASTER server.

  2. Run the following command on the MASTER server.

sudo rm -r /var/www/html/synchole
  1. Enjoy inconsistent states between your servers. ;-)

Resources