Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mam VPSa na którym jest postawione Apache z modułami do obsługi PHP i aplikacji Django, PostgreSQL, MyBB
i certbot.
I teraz: jak najlepiej zrobić backup tego wszystkiego żeby przy ponownym wdrażaniu było jak najmniej pracy ?
Gdzieś pisali, ze mozna zrobic dd, ale po pierwsze jak podłączyć się do serwera w trybie live i czy zawsze się da ?
a po drugie jak będzie z przenośnością tego np. jeśli inny dostawca nie będzie oferował tej samej metody wirtualizacji i tego samego systemu ?
Offline
Up:
Po kiego całego VPSa?
rsynciem czy rdiff-backup przez ssh do [b]/etc [/b]i np [b]/var/www[/b], czy gdzie tam nasze ślitaśne strony siedzą.
mysqldump i pgdump bazy
Reszta VPSa jest i tak w repo. xD
Ostatnio edytowany przez Jacekalex (2018-02-25 21:49:45)
Offline
A jeżeli w przyszłości na serwerze docelowym będzie np. wyższa wersja systemu to też zadziała ?
Czy coś trzeba będzie zmieniać w tych plikach ?
rsynciem czy rdiff-backup przez ssh do /etc i np /var/www, czy gdzie tam nasze ślitaśne strony siedzą.[/quote]
to już zrobiłam za pocą tar + scp ale się zastanawiam czy da się zrobić bardziej kompleksowy backupOstatnio edytowany przez Elizabeth (2018-02-25 16:57:48)
GPG Key ID: [url=http://keys.gnupg.net/pks/lookup?op=get&search=0x8D55F13761AF5230]0x8D55F13761AF5230[/url]
Fingerprint: B884 468A D6DC 0516 2B43 6675 8D55 F137 61AF 5230
Offline
[quote=Elizabeth]A jeżeli w przyszłości na serwerze docelowym będzie np. wyższa wersja systemu to też zadziała ?
Czy coś trzeba będzie zmieniać w tych plikach ?[/quote]
To już zależy od konkretnego programu.
jeżeli taki backup odpalasz z CRONA np raz na tydzeń, to masz na tyle aktualną kopię, że nic się nie zdąży zmienić w te kilka dni.
Backupu nie robi się raz na dwa lata, musi być aktualny.
[b]Rsync[/b] zapewnia lustrzaną kopię, a [b]rdiff-backup[/b] robi kopię przyrostową.
Oba się do CRONA nadają idealnie.
RTFM:
https://www.thomas-krenn.com/pl/wiki/Synchronizacja_danych_w_Linuksie_przy_pomocy_rsync
http://www.nongnu.org/rdiff-backup/
https://www.thomas-krenn.com/pl/wiki/Backup_z_rdiff-backup_w_Linuksie
Ostatnio edytowany przez Jacekalex (2018-02-25 17:04:38)
Offline
[quote=Jacekalex]Up:
Po kiego całego VPSa/
rsynciem czy rdiff-backup przez ssh do [b]/etc [/b]i np [b]/var/www[/b], czy gdzie tam nasze ślitaśne strony siedzą.
mysqldump i pgdump bazy
Reszta VPSa jest i tak w repo. xD[/quote]
No jak po kiego? Czasami się przydaje. xD
A tak w ogóle, to jak ja bym miał teraz się bawić w vps, to bym se kontenery dockera porobił i problem "kompatybilności" by był z głowy. xD
Offline
[quote=Jacekalex]mysqldump i pgdump bazy[/quote]
Taki zrzut zapisze mi jedynie baze danych czyli i tak będzie trzeba jeszcze raz konfigurować użytkownika, hasła, uprawnienia, ALTER ROLE itd ?
Jak zapisać te wszytskie ustawienia, czy one są trzymane gdzieś w etc ? (mowimy o postgre)
Offline
Ciągnij całe:
/var/lib/mysql/
/var/lib/postgresql/
I po sprawie.
Dlatego lepiej jest ciągnąć cały VPS a później sie zastanawiać co gdzie siedzi. xD
Ostatnio edytowany przez morfik (2018-02-25 17:55:42)
Offline
Zamiast używać tego nie znanego mi narzędzia Rsync to chyba mogę równie dobrze odpalić tar'a na całym systemie plików
Offline
mysqldump może też kopiować bazę mysql.* gdzie s ą uprawnienia użyszkodników.
Ciągnij całe: /var/lib/mysql/
Ryzykowna sprawa, kiedyś w ten sposób "myślałem, że mam backup".
Obecnie wolę zrzut bazy mysqldumpem, spakowany XZ i zaszyfrowany GPG.
/usr/bin/mysqldump --ssl --user=PACJENT --password=HASEŁKO --add-drop-table --databases BAZA | /usr/bin/xz |/usr/bin/gpg --batch --armor --encrypt --trust-model always --no-default-keyring --keyring /etc/keys/jacek.pub --recipient jacek@DOMENA.TLD >/home/backup/bazy/BAZA-$(date +%Y-%m-%d-%H.%M.%S).gpg
Jeszcze mi się nie zdarzyło, żeby się coś zwaliło w takim backupie.
[quote=Elizabeth]Zamiast używać tego nie znanego mi narzędzia Rsync to chyba mogę równie dobrze odpalić tar'a na całym systemie plików[/quote]
A tar robi kopie synchroniczne czy przyrostowe. xD
RTFM:
man rsync man rdiff-backup
Pozdro
Ostatnio edytowany przez Jacekalex (2018-02-25 18:09:08)
Offline
Rsync to taka podstawa jak ls czy vi, szkoda że nie wymagają znajomości tego na branżowych certyfikacjach (RHC[SAE]) :/
Offline
[quote=Jacekalex]mysqldump może też kopiować bazę mysql.* gdzie s ą uprawnienia użyszkodników.
Ciągnij całe: /var/lib/mysql/
Ryzykowna sprawa, kiedyś w ten sposób "myślałem, że mam backup".[/quote]
Dziwne, ja załadowałem ten katalog do dockera na surowo i bez problemu działa z wordpresem. xD
Offline
[quote=morfik][quote=Jacekalex]mysqldump może też kopiować bazę mysql.* gdzie s ą uprawnienia użyszkodników.
Ciągnij całe: /var/lib/mysql/
Ryzykowna sprawa, kiedyś w ten sposób "myślałem, że mam backup".[/quote]
Dziwne, ja załadowałem ten katalog do dockera na surowo i bez problemu działa z wordpresem. xD[/quote]
Zazwyczaj działa, ale nie zawsze, o czym kiedyś się przekonałem organoleptycznie.
Z resztą polecane i gwarantowane metody w Mysql to mysqldump i mysqlhotcopy.
mysqlhotcopy też może latać po ssh.
Sznurek:
https://debian-administration.org/article/311/Backup_MySQL_databases_with_mysqlhotcopy
Ostatnio edytowany przez Jacekalex (2018-02-25 21:51:04)
Offline
@morfik: możesz sobie pociągnąć całą bazę postgresa, parę innych mientkich rzeczy też sobie możesz pociągnąć, i tyle z tego będziedz miał że coś ci na wąsach zostanie.
Do fizycznego kopiowania bazy postgresa istnieją narzędzia, nawet rsync jest jednym z nich - ale nie jedynym.
No, chyba że kopiujesz zatrzymaną bazę... Bo jeśli nie to taka kopia jest tyle samo warta, co smarki w chusteczce.
Offline
Przestań pieprzyć tylko się przyznaj że nie wiesz, jak się robi rsyncem backup postgresa bez zatrzymywania bazy.
Twoje kilka sekund możesz użyć do wytarcia wąsów.
Offline
Czy nie chodzi przypadkiem o to:
https://wiki.postgresql.org/wiki/Binary_Replication_Tutorial
Offline
Naprawdę, odnośnie tego całego backupu, to masz nawet w dokumentacji postgresa opisane:
https://www.postgresql.org/docs/9.3/static/backup-file.html
Another option is to use rsync to perform a file system backup. This is done by first running rsync while the database server is running, then shutting down the database server just long enough to do a second rsync. The second rsync will be much quicker than the first, because it has relatively little data to transfer, and the end result will be consistent because the server was down. This method allows a file system backup to be performed with minimal downtime.[/quote]
No więc w czym problem?
Offline
W wydaniu konkretnego polecenia. Bez tego polecenia możesz - jak wspomniałem - wsadzić palec w nos i rozsmarować wynik na wąsach.
Cenię Ciebie jako gościa co duuuuuużo wie, wiele razy z Twoich porad korzystałem, ale nie przesadzaj: jeśli czegoś nie wiesz to siedź cicho i się nie wychylaj. Na zdrowie Ci wyjdzie.
@Jacekalex: nie chce mi sié całości czytać, ale chyba o to.
Ostatnio edytowany przez ethanak (2018-02-25 19:21:06)
Offline
Zamiast ręcznie rzeźbić z kopiowaniem VPS skorzystaj z kontenerów — odpadnie 99% roboty (i problemów).
Offline
[b]rsync rsync rsync[/b]
Offline
Time (s) | Query |
---|---|
0.00017 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00109 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.119.113.79' WHERE u.id=1 |
0.00272 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.113.79', 1732690434) |
0.00048 | SELECT * FROM punbb_online WHERE logged<1732690134 |
0.00076 | DELETE FROM punbb_online WHERE ident='3.15.186.56' |
0.00057 | SELECT topic_id FROM punbb_posts WHERE id=317948 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=30316 ORDER BY posted |
0.00067 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30316 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00235 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30316 ORDER BY p.id LIMIT 0,25 |
0.00120 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30316 |
Total query time: 0.01022 s |