Witam.
Pomoże ktoś?
Z góry serdecznie dziękuję.
viewtopic.php?p=120728#p120728
Automatyczny backup danych na Google Drive
-
makrz
- Posts: 401
- Joined: Tue Nov 27, 2018 1:43 pm
- Location: Opole
Nikt nic?makrz wrote: Sun Mar 27, 2022 6:39 pm Witam.
Pomoże ktoś?
Z góry serdecznie dziękuję.
viewtopic.php?p=120728#p120728
-
pzygmunt
- Posts: 20302
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
- Been thanked: 59 times
Tak samo jak zwykły backup. Podmontuj sobie tylko dysk Google.
https://medium.com/@enthu.cutlet/how-to ... f4bff24288
https://medium.com/@enthu.cutlet/how-to ... f4bff24288
SUPLA.... Nareszcie w domu.
-
makrz
- Posts: 401
- Joined: Tue Nov 27, 2018 1:43 pm
- Location: Opole
Dziękuję za odpowiedź, ale ja nie o to pytam. Chodzi mi o konkretny skrypt kolegi @fracz.pzygmunt wrote: Sun Apr 03, 2022 8:41 pm Tak samo jak zwykły backup. Podmontuj sobie tylko dysk Google.
https://medium.com/@enthu.cutlet/how-to ... f4bff24288
Skrypt robi backup po czym kopiuje go na dysk google i usuwa go z lokalnej maszyny.
Powinien też usuwać z dysku google backupy starsze niż X dni, a tego nie robi (backupy robię od 2 tygodni co 6 h a zdefiniowanie mam do usunięcia starsze niż 2 dni).
Moje pytanie, dlaczego nie są usuwane z dysku google pliki starsze niż zdefiniowane 2 dni?
backup.sh
Code: Select all
NOW=$(date +"%Y%m%d%H%M%S")
BACKUP_FILE=supla-$NOW.sql
GDRIVE_DIR=1jD89Scumo6YUzySl-xClNvTrwP9ZYUFj
SUPLA_PATH=/home/pi/supla-docker
BACKUP_EXPIRATION_DAYS=2
cd "$(dirname "$0")"
source $SUPLA_PATH/.env && \
docker exec supla-db mysqldump -u root --password="$DB_PASSWORD" supla > $BACKUP_FILE && \
gzip $BACKUP_FILE && \
gdrive upload $BACKUP_FILE.gz --parent $GDRIVE_DIR --delete
sleep 5
OLD_BACKUPS=$(date -u -d "${BACKUP_EXPIRATION_DAYS} days ago" +"%Y-%m-%dT%H:%M:%SZ")
OBSOLETE_BACKUPS=$(gdrive list -m 1000 --query \
"(('${GDRIVE_DIR}' in parents) and trashed=false and modifiedTime < '$OLD_BACKUPS'" \
--order "modifiedTime asc" --no-header | cut -d ' ' -f1)
while read -r OBSOLETE_BACKUP_ID; do
if [ ! -z "$OBSOLETE_BACKUP_ID" ]; then
echo Deleting $OBSOLETE_BACKUP_ID
gdrive delete $OBSOLETE_BACKUP_ID
fi
done <<< "$OBSOLETE_BACKUPS"Code: Select all
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Uploading supla-20220404060001.sql.gz
^M ^M512.0 B/4.2 MB^M ^M4.2 MB/4.2 MB^M ^MUploaded 1VAVNLv3U95amUdvJ8yEOuIKebbEswiQ8 >
Removed supla-20220404060001.sql.gz
Deleting Failed
Failed to get file: googleapi: Error 404: File not found: Failed., notFound
-
makrz
- Posts: 401
- Joined: Tue Nov 27, 2018 1:43 pm
- Location: Opole
No tak, wszystko byłoby fajnie gdybym ja rozumiał co Ty do mnie mówisz. Niestety moja wiedza o linuxach jest żadna.pzygmunt wrote: Mon Apr 04, 2022 9:26 am Musisz sobie dodać printa na gdrive delete $OBSOLETE_BACKUP_ID i zobaczyć jak wygląda polecenie.
Sprawdź też dokumentację tego polecenia.
-
pzygmunt
- Posts: 20302
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
- Been thanked: 59 times
Dodaj nad delete $OBSOLETE_BACKUP_ID
i będziesz widział jak wygląda całe polecenie z podstawionym parametrem. Może tam coś nie tak leci pod do id.
Code: Select all
echo "delete $OBSOLETE_BACKUP_ID"SUPLA.... Nareszcie w domu.
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
http://www.cs.put.poznan.pl/anstroinski ... -kurs.htmlmakrz wrote: Mon Apr 04, 2022 10:09 amNo tak, wszystko byłoby fajnie gdybym ja rozumiał co Ty do mnie mówisz. Niestety moja wiedza o linuxach jest żadna.pzygmunt wrote: Mon Apr 04, 2022 9:26 am Musisz sobie dodać printa na gdrive delete $OBSOLETE_BACKUP_ID i zobaczyć jak wygląda polecenie.
Sprawdź też dokumentację tego polecenia.
Odpal sobie terminal na linuxie i przerób jakieś 2-3 tutoriale z sieci. Nie musisz bawić się we wszystkie polecenia (szczególnie w pętle i inne tego typu instrukcje), ale podstawy w stylu "jak wyświetlić coś na ekranie" warto znać
Najlepsze suple dla Twojego domu 
-
makrz
- Posts: 401
- Joined: Tue Nov 27, 2018 1:43 pm
- Location: Opole
nic więcej się nie wyświetliło, to chyba nie dla mniepzygmunt wrote: Mon Apr 04, 2022 10:12 am Dodaj nad delete $OBSOLETE_BACKUP_IDi będziesz widział jak wygląda całe polecenie z podstawionym parametrem. Może tam coś nie tak leci pod do id.Code: Select all
echo "delete $OBSOLETE_BACKUP_ID"
Code: Select all
pi@supla:~$ ./backup.sh
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Uploading supla-20220404130945.sql.gz
Uploaded 1ewiH_kvQ2arywtou7kLAkNPlRiC6vSes at 2.9 MB/s, total 4.2 MB
Removed supla-20220404130945.sql.gz
delete Failed
Failed to get file: googleapi: Error 404: File not found: Failed., notFound
pi@supla:~$
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Wyświetliło się, że jedyny plik jaki próbuje usunąć nazywa się "Failed" 
Wygląda, jakby poprzednia komenda się niepowiodła i nie pobrały się żadne nazwy plików do usunięcia i stąd dlasza część nie działa.
Przed linią "while read" dodaj
i pokaż co wyrzuca na ekran
Wygląda, jakby poprzednia komenda się niepowiodła i nie pobrały się żadne nazwy plików do usunięcia i stąd dlasza część nie działa.
Przed linią "while read" dodaj
Code: Select all
echo "old backups: $OLD_BACKUPS"
echo "obsolete backups: $OBSOLETE_BACKUPS"
Najlepsze suple dla Twojego domu 
