Difference between revisions of "Backup"
From PhotoVoltaic Logger new generation
m (→Backup with API) |
m (→Backup with API) |
||
(One intermediate revision by the same user not shown) | |||
Line 37: | Line 37: | ||
### Read all real channels, but WITHOUT RANDOM channels | ### Read all real channels, but WITHOUT RANDOM channels | ||
− | wget -qO - $host/api/ | + | wget -qO - $host/api/latest/channels.csv | grep -v "RANDOM " | \ |
while read id GUID name dummy; do | while read id GUID name dummy; do | ||
### remove text delimiters | ### remove text delimiters | ||
Line 43: | Line 43: | ||
echo -n "$(date) $GUID - $name ... " | echo -n "$(date) $GUID - $name ... " | ||
− | wget -q --header="X-PVLng-Key: $apikey" -O $destination/$GUID-$(date +"Y-m-d").csv $host/api/ | + | wget -q --header="X-PVLng-Key: $apikey" -O $destination/$GUID-$(date +"Y-m-d").csv $host/api/latest/data/$GUID.csv?start=0&full=1 |
echo Done. | echo Done. | ||
done | done | ||
echo $(date) Finished. | echo $(date) Finished. |
Latest revision as of 16:43, 28 September 2014
Database backup
A full database backup is quite simple.
# mysqldump -u [username] -p[password] -h [host] [databaseName] >PVLng-$(date +"Y-m-d").sql
It just dumps all data into a date stamped SQL file.
Backup with API
If you are interested in CSV/TSV data as backup, you can do this by requesting all data for a channel via the API
# GUID=your_GUID_here # wget -O PVLng-$GUID-$(date +"Y-m-d").csv http://your.domain.here/api/latest/data/$GUID.csv?start=0&full=1
- start=0 - all data since 1970...
- full=1 - extract also the readable date+time column
As script:
#!/bin/sh ### Configure these 3 parameters: host="http://your.domain.here" # WITH http:// apikey="..." # required for private channels destination=~ # destination=/backup/PVLng/$(date +"Y-m-d") ### Let's go test -d "$destination" || mkdir -p "$destination" echo $(date) Start backup ... IFS=";" ### Read all real channels, but WITHOUT RANDOM channels wget -qO - $host/api/latest/channels.csv | grep -v "RANDOM " | \ while read id GUID name dummy; do ### remove text delimiters name=$(echo "$name" | sed -e '~"~~g') echo -n "$(date) $GUID - $name ... " wget -q --header="X-PVLng-Key: $apikey" -O $destination/$GUID-$(date +"Y-m-d").csv $host/api/latest/data/$GUID.csv?start=0&full=1 echo Done. done echo $(date) Finished.