Puncte:1

Docker Postgres backup creează un fișier gol atunci când este rulat ca un job cron

drapel in

Încerc să creez un cronjob care creează copii de rezervă db în fiecare noapte.

Crontab-ul meu are treaba: * * * * * /home/user/scripts/backup.sh (să se stingă la fiecare minut pentru testare)

În backup.sh, am:

docker exec -it dbContainer pg_dump -U nume de utilizator -d dbName > /home/user/backups/testingBackup.sql

Fișierul este întotdeauna gol:

-rw-rw-r-- 1 utilizator utilizator 0 Iul 14 08:39 testingBackup.sql

Cu toate acestea, dacă rulez fișierul pe cont propriu și tast comanda /home/user/scripts/backup.sh, nu este gol:

-rw-rw-r-- 1 utilizator utilizator 30813 14 iulie 08:45 testingBackup.sql

Simt că are sens că ceva este dezactivat pe permisiuni, dar totul se face de la „utilizator”. Nu am făcut nimic de la root, cum ar fi sudo crontab... sudo /home/user/backups/testingBackup.sql, etc.

Sunt confuz de ce într-un scenariu, fișierul rezultat este gol, iar în celălalt, nu este.

Multumesc pentru orice ajutor

djdomi avatar
drapel za
ce zici de #!/bin/bash în scriptul tău? și puteți adăuga SHELL=/bin/bash la crontab
Ethan Solomon avatar
drapel in
scuze pentru răspunsul extrem de târziu, am fost complet deturnat, dar niciunul dintre aceștia nu a ajutat :(
djdomi avatar
drapel za
arata-mi te rog starea actuala
Ethan Solomon avatar
drapel in
fișierul sql care este creat... -rw-rw-r-- 1 utilizator utilizator 0 Aug 26 14:14 testingBackup.sql cron: SHELL=/bin/bash 0 4 * * * /cale/otherjob.sh * * * * * /path/backup.sh fisier de rezerva: #!/bin/bash /usr/bin/docker exec -it dbContainer pg_dump -U postgres -d db > cale/testingBackup.sql
Ethan Solomon avatar
drapel in
dar dacă doar rulez: path/backup.sh, primesc: -rw-rw-r-- 1 utilizator utilizator 224622 26 august 14:18 testingBackup.sql
Puncte:0
drapel in

pentru comanda pe care o am în fișierul sh: docker exec -it dbContainer pg_dump -U nume de utilizator -d dbName > /home/user/backups/testingBackup.sql

Se rulează în modul interactiv (-it). Dacă elimin asta, totul funcționează (deci comanda este: docker exec dbContainer pg_dump -U nume de utilizator -d dbName > /home/user/backups/testingBackup.sql

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.