pi-up
v0.0.1
Published
Update a Raspberry Pi remotely using a custom script on a desired schedule
Downloads
4
Readme
pi-up
The goal of this project is to execute a custom update script on a Raspberry Pi according to a desired schedule and be notified of the results.
Background
Truthfully, this project could be used to execute any custom script on a Raspberry Pi according to a desired schedule.
The primary focus with this project though, is to update a Raspberry Pi. Also, this project currently assumes the Raspberry Pi is running Pi-hole and will attempt to update that as well.
Usage
Prerequisites
- Must have SSH access to Raspberry Pi
- Must know the IP address of your Raspberry Pi
- Git must be installed:
apt-get install git
- Node.js must be installed on Raspberry Pi
- Must have sendmail package installed:
apt-get install sendmail
Configuration
To get started you will want to update the config.json
file in this repo. Below is a sample configuration:
{
"scheduleCron": "0 0 18 * * *",
"runOnInit": true,
"scriptPath": "/home/pi/pi-up/custom-update.sh",
"email": "[email protected]"
}
- scheduleCron - crontab describing schedule of which to run update script. 6 fields supported, finest granularity being 1 second.
- runOnInit - Whether or not the update script should be ran on initialization of schedule or not. When false, first run will happen on next scheduled occurrence.
- scriptPath - Path to custom script containing update routine. It's much safer to use the exact path, instead of a relative path to the script.
- email - Optional field for email address, email is sent to this address with results of update routine. Simply leave empty to not send an email.
- name - Optional field to identify your Raspberry Pi, this will be included in the subject of the email sent to you.
Starting scheduled update
- SSH into Raspberry Pi
ssh pi@<your-pi-ip-address>
- Git clone this repo (on Raspberry Pi):
git clone https://github.com/rcasto/pi-up
- Change directory into repository folder:
cd pi-up
- Install npm package dependencies:
npm install
- Adjust configuration and script to your liking
- Start update schedule:
npm start
Running on Raspberry Pi bootup
Edit /etc/rc.local
, adding:
node /home/pi/pi-up/index.js &
Note: You will want to have changed your scriptPath
in the configuration to use an exact path.