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

78 lines
1.9 KiB
Markdown

# synchole
Shell script to syncronize a SLAVE [pi-hole](https://pi-hole.net) 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 .
```
3. Login via SSH to the `SLAVE` server.
4. Install _wget_ and _[synchole](https://socialg.it/david/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
```
5. Configure the synchole script to your liking.
```
sudo vim /usr/bin/synchole
```
The config section is at the top of the script.
6. 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)
8. Repeat steps 3 through 6 for additional `SLAVE` servers.
9. 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
```
3. Login via SSH to the `MASTER` server.
4. Run the following command on the `MASTER` server.
```
sudo rm -r /var/www/html/synchole
```
5. Enjoy inconsistent states between your servers. ;-)
## Resources
- https://discourse.pi-hole.net/t/what-files-does-pi-hole-use/1684