Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Jak wynieść pocztę i bazy SQL na oddzielny dysk ? http://forum.freesco.pl/viewtopic.php?f=22&t=17129 |
Strona 1 z 2 |
Autor: | mes mariusz [ piątek, 15 sierpnia 2008, 23:49 ] |
Tytuł: | Jak wynieść pocztę i bazy SQL na oddzielny dysk ? |
Witam. Chciałbym wszelkie dane użytkowników, w tym pocztę i bazy SQL trzymać na oddzielnym dysku. W zasadzie wystarczy mi, że poczta będzie trzymana w katalogu /home/poczta a bazy SQL w /home/SQL (do /home/ mam podmontowany odobny dysk, więc to rozwiąże sprawę). Taka konfiguracja pozwoliłaby mi na wygodne sporządzanie backupów wszystkich danych użytkowników. Pytanie gdzie mogę to skonfigurować (pozmieniać ścieżki dostępu?). Ewentualnie, czy istnieją jeszcze jakieś inne pliki użytkowników (oprócz kont WWW, poczty, baz SQL) warto byłoby trzymać na oddzielnym dysku, o których warto byłoby od razu pomyśleć ? A może (nie wiem dokładnie jak to jest zorganizowane - czy to kwestia jednego pliku, czy sprawa bardziej skomplikowana) dało by się również na ten dysk wynieść informacje o założonych użytkownikach? Tak, aby przywrócenie po awarii zawartości dysku plików użytkowników przywracało również wszystkich utworzonych to momentu sporządzenia kopii, użytkowników ? |
Autor: | Maciek [ sobota, 16 sierpnia 2008, 00:17 ] |
Tytuł: | |
Dane użytkowników domyślnie są na /home inne dane takie jak chociażby pliki bazy w /var/lib/mysql, informacje o użytkownikach systemowych znajdują się w /etc. Bez przewrócenia systemu do góry nogami tego nie zmienisz. Pomysł zresztą jest z gatunku lekko śmiesznych i trochę głupich. W Linuksie nie ma centralnego rejestru, w którym mógłbyś pozmieniać wszystko co dotyczy systemu i wszelkich aplikacji. Gdzie indziej konfiguruje się zasady firewalla, gdzie indziej samby a gdzie indziej np. mysql. Nie da się przenieść np plików konfiguracyjnych z /etc do np. /home/etc bez rekompilacji danego programu. Do sporządzania backupów są rozmaite narzędzia i z nich należy korzystać. Można na dodatkowym dysku sporządzać kopie /etc /home /var/lib (te są najważniejsze) za pomocą rsync i można to robić automatycznie. Robi się kopie przyrostowe co oznacza, że kopia ma objętość mniej więcej taka samą jak oryginał. Można kopie robić na zupełnie inny serwer w sieci lub poza lokalną siecią. Można też dla zwiększenia bezpieczeństwa danych postawić raid 1. Jednym słowem nie kombinuj, bo są pewniejsze i sprawdzone sposoby. |
Autor: | mes mariusz [ sobota, 16 sierpnia 2008, 00:38 ] |
Tytuł: | |
W sumie zupełnie zadowalającym rozwiązaniem byłoby, gdyby na osobny dysk (w moim przypadku np. /home/backup) tworzona była automatyczna kopia przyrostowa. Rozumiem, że w razie awarii wystarczy skopiować np. za pomocą MC zawartość katalogu na dysk systemowy, i wszystko będzie hulało, jak przed awarią. W takim razie nie pozostaje mi już teraz nic innego, jak tylko nauczyć się konfigurować i wykorzystywać rsync (sprawić, że raz na dzień w katalogu /home/backup będą automatycznie sporządzane przyrostowe kopie katalogów /etc oraz /var) Dzięki za podpowiedź ![]() Pozdrawiam Mariusz |
Autor: | PioTRaS [ sobota, 16 sierpnia 2008, 09:36 ] |
Tytuł: | |
mes mariusz pisze: W takim razie nie pozostaje mi już teraz nic innego, jak tylko nauczyć się konfigurować i wykorzystywać rsync (sprawić, że raz na dzień w katalogu /home/backup będą automatycznie sporządzane przyrostowe kopie katalogów /etc oraz /var)
Ne ma sensu robić całego /var, wystarczy /var/lib gdzie są przechowywane m.in bazy mysql, postgresql. Co do zmiany ścieżki to trzeba ustalić inną ścieżkę przy kompilacji danego pakietu, innej metody nie ma |
Autor: | zciech [ sobota, 16 sierpnia 2008, 10:17 ] |
Tytuł: | |
Cytuj: Co do zmiany ścieżki to trzeba ustalić inną ścieżkę przy kompilacji danego pakietu, innej metody nie ma
A łyżka na to: -Niemożliwe! A co stoi na przeszkodzie by zlinkować katalog /var/lib/mysql do /home/SQL ? a katalog poczty do /home/poczta? |
Autor: | Maciek [ sobota, 16 sierpnia 2008, 12:51 ] |
Tytuł: | |
Jasne i wyobraź sobie teraz mały zonk, system się nie uruchamia bo się /home z jakiegoś powodu nie podmontował na czas, a jak zamierzasz uruchomić system w trybie single-user, jak całe /etc/ będzie zlinkowane na /home. Pomijam już to, ze /home to partycja użytkowników i może się zapchać, a wtedy system zacznie usuwać zawartość plików do których ma prawa. Sorry ale według mnie to jest pomysł kandydujący na najgłupszy pomysł roku. |
Autor: | MAC!EK [ sobota, 16 sierpnia 2008, 13:54 ] |
Tytuł: | |
Maciek pisze: Pomijam już to, ze /home to partycja użytkowników i może się zapchać, a wtedy system zacznie usuwać zawartość plików do których ma prawa.
Jakoś mi się nie wydaje żeby tak było :> |
Autor: | zciech [ sobota, 16 sierpnia 2008, 16:09 ] |
Tytuł: | |
Maciek pisze: Jasne i wyobraź sobie teraz mały zonk, system się nie uruchamia bo się /home z jakiegoś powodu nie podmontował na czas, a jak zamierzasz uruchomić system w trybie single-user, jak całe /etc/ będzie zlinkowane na /home. Pomijam już to, ze /home to partycja użytkowników i może się zapchać, a wtedy system zacznie usuwać zawartość plików do których ma prawa. Sorry ale według mnie to jest pomysł kandydujący na najgłupszy pomysł roku.
Gdzie Ty zobaczyłeś /etc ![]() ![]() ![]() ![]() Poza tym nie wiem czy próba linkowanie /etc do /home nie podpada pod paragraf 22 |
Autor: | Maciek [ sobota, 16 sierpnia 2008, 16:20 ] |
Tytuł: | |
W pierwszym poście była mowa o podlinkowaniu whatever (łącznie z danymi o userach - czyli np. /etc/passwd i shadow). Zresztą nie ma sensu kontynuować dyskusji, bo wg mnie pomysł linkowania katalogów nie jest dobry, a że się da.. jasne.. we Freesco tak było. Z tym, że tam było to wymuszone samym sposobem uruchamiania systemu (ramdisk) i w razie przeniesienia na dysk i instalowania czegoś wszystko trzeba było linkować do katalogów z ramdisku. Jednak w NND to zdecydowanie zły pomysł. |
Autor: | mes mariusz [ poniedziałek, 18 sierpnia 2008, 21:49 ] |
Tytuł: | |
Zainstalowałem rsync, dodałem do deamonów w rc.conf i podczytuję sobie mądre rzeczy spod adresu http://nnd.freesco.pl/modules.php?name= ... cle&sid=28 Rozumiem, że jeśli rsync wykonuje kompresji do archiwum, np. polecenie: 20 3 * * * /usr/bin/rsync -a -z --delete-after rsync://root@192.168.1.4:873/etc /var/backup/szkola/etc to nie będą to już kopie przyrostowe, tylko kompletne, oddzielne całości, tak? W moim przypadku (jeśli chcę mieć lustrzane odbicia katalogów /etc /var /lib na drugim dysku, podmountowanym do /home) wykonuję to w ten sposób: 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/etc /home/backup 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/var /home/backup 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/lib /home/backup Mam teraz pytanko: Rozumiem, że wykonanie 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/etc /home/backup spowoduje, że kopie będą automatycznie sporządzane do chwili kiedy serwer zostanie zresetowany. Później trzeba je będzie wydać ponownie, albo... Hmm... Pewnie zapisać coś takiego: #! /bin/sh 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/etc /home/backup 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/var /home/backup 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/lib /home/backup do pliku np. autobackup, nadać mu uprawnienia wykonywalności i co dalej ? Pewnie wrzucić do katalogu rc.d i zrobić wpis w deamonach w rc.conf ? Dobrze myślę ? |
Autor: | Maciek [ poniedziałek, 18 sierpnia 2008, 22:06 ] |
Tytuł: | |
Rsync nie wykonuje kompresji. Polecenie po prostu robi kopię określonych katalogów w innym miejscu na dysku albo na innym dysku, albo wreszcie na innym komputerze. Na innym komputerze trzeba również uruchomić demon rsync. Polecenia zacytowane robią kopie przyrostowe. Polecenie dodane do crona działa i po resecie i po restarcie. Zdaje się, że artykułu nie przeczytałeś zbyt dokładnie. BTW nnd.freesco.pl to stary adres i radzę zaglądać na nową stronę pod właściwym adresem. |
Autor: | mes mariusz [ poniedziałek, 18 sierpnia 2008, 22:19 ] |
Tytuł: | |
Maciek pisze: Polecenie dodane do crona działa i po resecie i po restarcie. Zdaje się, że artykułu nie przeczytałeś zbyt dokładnie.
BTW nnd.freesco.pl to stary adres i radzę zaglądać na nową stronę pod właściwym adresem. To nieco zmienia postać rzeczy ![]() W jaki sposób / w którym miejscu powinienem wstawić w crond wpisy 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/etc /home/backup 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/var /home/backup 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/lib /home/backup ![]() |
Autor: | Maciek [ poniedziałek, 18 sierpnia 2008, 22:26 ] |
Tytuł: | |
Odpowiednie polecenie dodać możesz do /var/spool/cron/root (w takiej postaci jak proponujesz) lub w formie dowolnego innego skryptu do /etc/cron.daily. Pierwsza wersja jest lepsza, bo możesz sobie ustalić własną godzinę wykonania bakupu, natomiast w przypadku drugim wykona się to zaraz po północy. Sugeruję poczytać sobie o cronie. |
Autor: | mes mariusz [ wtorek, 19 sierpnia 2008, 17:10 ] |
Tytuł: | |
Maciek pisze: Odpowiednie polecenie dodać możesz do /var/spool/cron/root
W tym pliku mam zachaszowane ostrzeżenie: # DO NOT EDIT THIS FILE MANUALLY!! Use crontab -e INSTEAD. To jest konieczne, czy też może jest to tylko zalecenie / sugestia ? |
Autor: | Maciek [ wtorek, 19 sierpnia 2008, 18:42 ] |
Tytuł: | |
Generalnie edycja tego pliku powinna być wykonywana poleceniem crontab -e (podobnie jak pliku sudoers przez polecenie visudo). Jednak zwyczajna edycja w mc raczej nie zaszkodzi (w przeciwieństwie do sudoers), z tym, że będzie wymagała restartu crona (a może systemu też - nie pamiętam). Jednak domyślnym edytorem nie jest w NND vi, więc nie ma co się bać crontab -e. ![]() |
Autor: | mes mariusz [ czwartek, 21 sierpnia 2008, 19:14 ] |
Tytuł: | |
Maciek pisze: Odpowiednie polecenie dodać możesz do /var/spool/cron/root (w takiej postaci jak proponujesz) lub w formie dowolnego innego skryptu do /etc/cron.daily. Pierwsza wersja jest lepsza, bo możesz sobie ustalić własną godzinę wykonania bakupu, natomiast w przypadku drugim wykona się to zaraz po północy.
Zawartość mojego pliku root: # # DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD. # # <minute> <hour> <day> <month> <dow> <command> 01 * * * * /usr/sbin/run-cron /etc/cron.hourly 02 00 * * * /usr/sbin/run-cron /etc/cron.daily 22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly 42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/etc /home/backup/etc 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/var /home/backup/var 20 3 * * * /usr/bin/rsync rsync://root@192.168.0.1:873/lib /home/backup/lib Mimo tego, dzisiaj o 3.20 żadna kopia się nie wykonała. W katalogu /home nie ma w ogóle katalogu backup. PS. Zmiany do root wprowadziłem z poziomu edytora MC, (do crontab -e straciłem cierpliwość po kilku nieudanych próbach zachowania wprowadzonych w pliku zmian) - wysypałem się na klawiszologii crontab-a. |
Autor: | Maciek [ czwartek, 21 sierpnia 2008, 19:42 ] |
Tytuł: | |
Po ostatniej linii powinien być enter. To po pierwsze. Po drugie - czy kopia wykonuje się na innym, czy na tym samym komputerze? |
Autor: | mes mariusz [ czwartek, 21 sierpnia 2008, 20:52 ] |
Tytuł: | |
Maciek pisze: Po ostatniej linii powinien być enter. To po pierwsze. Po drugie - czy kopia wykonuje się na innym, czy na tym samym komputerze?
Chcę, aby wykonała się na tym samym komputerze. |
Autor: | Maciek [ czwartek, 21 sierpnia 2008, 22:01 ] |
Tytuł: | |
Jeśli kopia ma być wykonana na tym samym komputerze to polecenie wygląda zupełnie inaczej, np.: rsync -ar /etc /home/backup/etc jeśli to ma być kopia przyrostowa to należy jeszcze pomyśleć o dodatkowych opcjach... np.: --delete-after, -o, -g a poza tym proponuję man rsync i rsync --help. |
Autor: | mes mariusz [ czwartek, 21 sierpnia 2008, 22:23 ] |
Tytuł: | |
Ok. Zobaczymy, jak sytuacja będzie wyglądała z plikiem root: # # DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD. # # <minute> <hour> <day> <month> <dow> <command> 01 * * * * /usr/sbin/run-cron /etc/cron.hourly 02 00 * * * /usr/sbin/run-cron /etc/cron.daily 22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly 42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly 20 3 * * * /usr/bin/rsync -ar /etc /home/backup/etc 20 3 * * * /usr/bin/rsync -ar /var /home/backup/var 20 3 * * * /usr/bin/rsync -ar /lib /home/backup/lib Lekturę manuali zostawię sobie na jutro. |
Strona 1 z 2 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |