Skrypt który urucha...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

Pytanie Skrypt który uruchamiający zapis kopii bazy domoticz

9 Wpisów
2 Użytkownicy
3 Reactions
1,326 Wyświetleń
(@muchac35)
Wpisów: 493
Ekspert
Autor tematu
 

Witam

Potrzebuję skrypt który uruchamiał by zapis kopii bazy domoticza zainstalowanego na malinie, gdyż zawarta w domoticz funkcja automatycznego zapisu bazy zapisuje go na karcie na której jest sam domoticz i w razie uszkodzenia karty backup tez się uszkodzi.

Potrzebuję aby baza wykonywała się tylko 1x dziennie np o godz 2 w nocy i zapisywała się na pendrivie który jest podłaczony do RPI

 
Dodane : 21/09/2021 7:56 am
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@muchac35 a dlaczego nie to ?

1

 Szybko pewnie i nawet kopie w chmurze , nie potrzeba pendrive 

 

 
Dodane : 21/09/2021 8:36 am
(@muchac35)
Wpisów: 493
Ekspert
Autor tematu
 

@isom 

Kolejny raz dziekuję

Zainstaluje i przetestuje

 
Dodane : 21/09/2021 8:43 am
(@muchac35)
Wpisów: 493
Ekspert
Autor tematu
 

@isom 

Jeszcze zapytam czy jeśli chcę manualnie kopiować bazę danych domoticz.db to konieczne jest zatrzymanie na ten czas domoticza ?

 
Dodane : 22/09/2021 11:23 am
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@muchac35 jak robisz pełne kopie ręcznie to trzeba zatrzymywać domoticz , bo gdy tego nie zrobisz struktura bazy na 90% ulegnie uszkodzeniu, to trochę tak jak byś nalewał wodę do dwóch wiaderek nie zakręcając kranu a te wiaderka są dwa metry od siebie, zawsze coś wycieknie. Robiąc kopie za pomocą Duplicati pierwsza pełna kopia powinna być zrobiona z zatrzymanym domoticz , kolejne kopie, które robi oprogramowanie są robione na zasadzie nadpisujemy tylko zmiany w bazie, to co się nie zmieniło zostaje i dlatego to oprogramowanie nie zatrzymuje domoticza. i robi kopie przyrostowe. To jedna z jego zalet.

 
Dodane : 22/09/2021 11:55 am
muchac35 reacted
(@muchac35)
Wpisów: 493
Ekspert
Autor tematu
 

@isom 

Więc gdy chcę ręcznie lub skryptem kopiować tylko plik domoticz.db to nie ma potrzeby zatrzymywać domoticza?

 
Dodane : 22/09/2021 12:06 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@muchac35 domoticz.db to właśnie baza, więc czy to ręcznie czy za pomocą skryptu trzeba zatrzymać domoticza, ręcznie nie zrobisz kopi przyrostowej , skrypt też powinien najpierw zatrzymać usługę zrobić kopię i uruchomić usługę ponownie, dlatego większość skryptów ustawia się na godziny nocne kiedy zatrzymanie usługi - domoticz jest najmniej uciążliwe. 

Zobacz przykład skryptu 

#!/bin/bash

## Parametry połączeń
SERVER="mucha35.pl" # Adres serwera FTP lub IP serwera FTP
USERNAME="użytkownik" # Nazwa użytkownika
PASSWORD="hasło" # Hasło użytkownika
DESTDIR="/opt/backup"
DOMO_IP="192.168.10.8" # Adres IP Domoticza
DOMO_PORT="8080" # Port Domoticza

## Konfiguracja parametrów
TIMESTAMP=`/bin/date +%Y%m%d%H%M%S`
BACKUPFILE="domoticz_kopia_sql_$TIMESTAMP.db" # plik kopi będzie miał nazwę "domoticz_kopia_sql_YYYYMMDDHHMMSS.db.gz"
BACKUPFILEGZ="$BACKUPFILE".gz

### Zatrzymanie Domoticza, utworzenie kopi zip i ponowne uruchomienie Domoticza
sudo service domoticz.sh stop
/usr/bin/curl -s //$DOMO_IP:$DOMO_PORT/backupdatabase.php > /tmp/$BACKUPFILE
sudo service domoticz.sh start
gzip -9 /tmp/$BACKUPFILE

### Przesłanie wykonanej kopii na serwer FTP
curl -s --disable-epsv -v -T"/tmp/$BACKUPFILEGZ" -u"$USERNAME:$PASSWORD" "ftp://$SERVER/xyz/" $ # Ścieżka do katalogu na serwerze FTP

### Usunięcie zbędnych plików tymczasowych
/bin/rm /tmp/$BACKUPFILEDIR
 
Dodane : 22/09/2021 12:16 pm
muchac35 reacted
(@muchac35)
Wpisów: 493
Ekspert
Autor tematu
 

@isom To jeszcze dopytam jeśli robię kopię zapasową tym sposobem to domoticz nie jest zatrzymywany dlaczego?

kopia

 

 
Dodane : 22/09/2021 12:59 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dlatego że robisz to z poziomu interfejsu samego domoticza i on wie twoich zamiarach więc nie będzie mieszał w bazie w czasie kiedy musi zrobić jej kopię. 

 
Dodane : 22/09/2021 2:39 pm
muchac35 reacted
Udostępnij: