Przygotowanie kopii 1:1 jest trochę skomplikowane.
Jako hosting możemy coś takiego zrobić przez udostępnienie wirtualnego dysku twardego, jednak to spore gigabajty i niepraktyczne rozwiązanie gdyż na dobrą sprawę potrzebujesz wyłączyć VPS aby przygotować taką kopię.
We własnym zakresie alternatywnie da się to przygotować przez aplikację typu CloneZilla jednak będzie to też dość złożone gdyż będziesz wtedy potrzebować zewnętrznego serwera na przygotowane kopie i też trzeba za każdym razem wyłączyć VPS.
Dużo lepszym rozwiązaniem jest przygotowanie sobie skryptów automatyzujących.
Wystarczy w pliku tekstowym powklejać wykonane komendy których użyłeś do instalacji oraz przerobić je trochę tak aby nie wymagały interwencji użytkownika, przykładowo dla
można dodać -y
aby automatycznie powiedzieć "tak" dla wszystkich jego pytań, w tym wypadku czy na pewno chcemy zainstalować paczkę.
Utworzony plik tekstowy który ma co linię jedną komendę możemy potem odpalić lub po prostu wiedzieć co wykonać przez Ctrl + C, Ctrl + V. Dopisujemy na samej górze tzw. shebang #!/bin/bash
i mamy skrypt bashowy. Np.
#!/bin/bash
apt-get update
apt-get upgrade -y
apt-get install -y nano wget htop
echo $(date) > /root/finish.txt
Takie 5 linii zaktualizuję listę dostępnych paczek, zaktualizuje wszystkie paczki do najnowszych, zainstaluje kilka narzędzi oraz na koniec zapiszę nam datę zakończenia instalacji do /root/finish.txt
.
Prostota systemów *nixów w pełnej krasie :slight_smile:
Docelowo jeśli chcesz osiągnąć perfekcję (mało osób tego potrzebuje), warto zamienić skrypty bashowe na coś lepszego - rozwiązania które potrafią obsługiwać dużą ilością hostów/sprzętu jednocześnie, obecnie w lvlup korzystam z https://www.ansible.com/, wcześniej z https://www.saltstack.com/, istnieją także dość popularne Chef oraz Puppet tego typu. Korzystanie z takiej automatyzacji umożliwia np. zmianę wybranej linii w konfiguracji danego programu na 40 serwerach dedykowanych jedną komendą.