Przejdź do głównej zawartości

Jak skonfigurować logrotate, aby automatycznie archiwizować logi i oszczędzać miejsce na serwerze

· 2 min aby przeczytać
Customer Care Engineer

Zarządzanie logami jest kluczowym aspektem administracji serwerem. Logi, które nie są regularnie rotowane, mogą szybko zapełnić dysk, spowalniając działanie serwera i powodując nieprzewidywalne błędy. W tym artykule wyjaśnimy, jak skonfigurować i używać logrotate do automatycznego czyszczenia i rotacji logów na serwerze.


Czym jest logrotate i dlaczego warto go używać?

Logrotate to narzędzie przeznaczone do automatycznego zarządzania logami. Pomaga w:

  • Czyszczeniu starych logów — automatycznie usuwa lub archiwizuje przestarzałe logi.
  • Oszczędzaniu miejsca na dysku — kompresuje i usuwa niepotrzebne logi.

Rotacja logów pozwala uniknąć sytuacji, w której logi gromadzą się, prowadząc do przepełnienia dysku, co może spowodować awarie systemu i utratę danych. Logrotate automatycznie archiwizuje stare logi i zwalnia miejsce na nowe dane.


Jak działa logrotate?

Kiedy logrotate jest aktywowany, automatycznie wykonuje następujące kroki:

  1. Rotacja logów — jest to proces, w którym stare logi są przemianowywane i zapisywane, a w ich miejsce tworzone są nowe pliki.
  2. Kompresja — stare logi mogą zostać skompresowane do formatu .gz, aby zaoszczędzić miejsce.
  3. Usuwanie — przestarzałe logi mogą zostać usunięte, jeśli nie są już potrzebne.

Przykład: plik dziennika o nazwie access.log może zostać przemianowany na access.log.1, następnie skompresowany do access.log.1.gz, a po upływie określonego czasu przechowywania, usunięty.


Jak skonfigurować logrotate?

1. Instalacja logrotate

Logrotate jest zwykle domyślnie instalowany na większości systemów Linux. Aby sprawdzić czy faktycznie już go masz, wpisz:

sudo logrotate --version

Jeśli logrotate nie jest zainstalowany, użyj menedżera pakietów.

  • Dla Debiana/Ubuntu użyj:
sudo apt update && sudo apt install logrotate
  • Dla CentOS/RockyLinux/AlmaLinux:
sudo yum install logrotate

2. Konfiguracja logrotate

Konfiguracja logrotate jest zwykle przechowywana w /etc/logrotate.conf. Plik ten określa ogólne parametry dla wszystkich logów na serwerze. Aby skonfigurować rotację poszczególnych logów, można utworzyć oddzielne pliki konfiguracyjne dla różnych serwisów w folderze /etc/logrotate.d/.

Przykład standardowej konfiguracji dla Nginx:

/var/log/nginx/*.log {
daily          # Logs are rotated daily
missingok      # Do not display an error if the log is missing
rotate 7       # Keep 7 archived files
compress       # Compress old logs
delaycompress  # Delay compression until the next rotation
notifempty     # Do not rotate empty files
create 0640 www-data adm  # Create new logs with specific permissions
}

3. Ważne parametry konfiguracyjne

  • daily/weekly/monthly — jak często log będzie rotowany (codziennie, co tydzień lub co miesiąc).
  • rotate [N] — liczba archiwów logów, które mają być przechowywane.
  • compress — kompresja archiwów logów (zwykle w formacie .gz).
  • missingok — brak logów nie powoduje pokazania błędu.
  • notifempty — nie rotuj pustych plików.
  • create — stwórz nowe logi z uprawnieniami.

4. Uruchamianie logrotate

Logrotate jest zwykle uruchamiany automatycznie za pomocą cron. Można jednak uruchomić go ręcznie, jeśli trzeba sprawdzić konfigurację lub wykonać rotację teraz:

sudo logrotate -f /etc/logrotate.conf

5. Sprawdzanie, czy logrotate działa

Aby upewnić się, że logrotate działa poprawnie, sprawdź ostatnie wpisy w logu:

sudo journalctl -u logrotate -n 10

Logi zajmują dużo miejsca na serwerze. Jak to naprawić?

· 2 min aby przeczytać
Customer Care Engineer
informacja

Większość logów jest przechowywana w katalogu /var/log, ale mogą również występować w innych miejscach. Zasady opisane poniżej dotyczą wszystkich plików *.log bez względu na ich lokalizację. 

Logi to pliki, które przechowują informacje o zdarzeniach na serwerze: aktywności aplikacji i systemu operacyjnego, różnych błędach, żądaniach użytkowników do stron itp. W miarę upływu czasu logi mogą zajmować dużo miejsca, szczególnie przy dużym ruchu na stronie lub błędach oprogramowania. 

Ważną cechą logów jest to, że w zdecydowanej większości przypadków ich usunięcie może prowadzić do nieprawidłowego działania programu, który je zapisuje, czy to serwera WWW, czy samego systemu operacyjnego. 

Dodatkowo, pliki te często zawierają istotne informacje diagnostyczne, które mogą pomóc w wykrywaniu awarii oprogramowania serwera i zapobiec poważniejszym problemom. Dlatego należy obchodzić się z nimi ostrożnie i świadomie.


Jak znaleźć logi, które można wyczyścić

Użyj ncdu do znalezienia największych logów na serwerze. Jeśli jakiś log wydaje się niepokojąco duży, sprawdź jego ostatnie wpisy:

sudo tail /path/to/log

Jeśli nie ma żadnych anomalii, sprawdź jego początek, aby upewnić się, że log stał się tak duży po prostu z upływem czasu (zwróć uwagę na datę utworzenia pierwszych wpisów):

sudo head /path/to/log

Następnie można przejść do czyszczenia.

informacja

Jeśli nie masz pewności, dlaczego plik dziennika jest tak duży, zapisz jego kopię i skontaktuj się z działem wsparcia technicznego dostawcy hostingu w celu uzyskania wyjaśnień.


Jak bezpiecznie wyczyścić logi

Użyj polecenia truncate, aby wyczyścić zawartość pliku bez jego usuwania:

sudo truncate -s 0 /var/log/nginx/error.log

Osobno należy zwrócić uwagę na pliki, które są logami pomimo braku rozszerzenia *.log:

  • /var/log/btmp
  • /var/log/syslog
  • /var/log/messeges
  • /var/log/secure
  • /var/log/maillog

Wszystkie te pliki można również bezpiecznie wyczyścić za pomocą polecenia truncate.

Wyjątkiem jest specjalny log, który znajduje się w katalogu /var/log/journal. O pracy z nim dowiesz się więcej z tego artykułu.   


Jak zapobiec zwiększaniu się rozmiaru logów

Analizując logi, mogłeś zauważyć, że niektóre z nich mają nazwy w formacie:

  • syslog.1
  • yoursite.access.log.1

Pojawiają się one, gdy stosowany jest proces rotacji logów, na przykład za pomocą programu logrotate. Podczas rotacji stare pliki mogą zostać usunięte lub skompresowane, co pozwala zaoszczędzić miejsce na dysku.

Więcej informacji na temat konfiguracji tego mechanizmu znajdziesz tutaj.

Jak znaleźć i usunąć pliki zajmujące dużo miejsca na serwerze

· 2 min aby przeczytać
Customer Care Engineer

Brakuje miejsca na serwerze? Może to prowadzić do awarii stron internetowych i baz danych. Aby zwolnić przestrzeń, należy znaleźć i usunąć pliki zajmujące najwięcej miejsca. W tym artykule wyjaśnimy, jak zrobić to szybko za pomocą narzędzia ncdu oraz jak bezpiecznie czyścić logi.


Krok 1: Instalacja i uruchomienie ncdu

ncdu — wygodne narzędzie do analizy wykorzystania przestrzeni na dysku. Wyświetla wszystkie foldery i pliki posortowane według rozmiaru w czytelnym interfejsie tekstowym.

Aby korzystać z tego programu, należy połączyć się z serwerem przez SSH.  

Instalacja

  • Debian/Ubuntu:
sudo apt update && sudo apt install ncdu
  • CentOS/AlmaLinux/RockyLinux:
sudo yum install ncdu

Uruchomienie analizy dysku

  • Aby przeskanować katalog główny /, uruchom polecenie:
sudo ncdu -x /

Opcja -x w ncdu ogranicza skanowanie do pojedynczego systemu plików, pomijając zamontowane wirtualne katalogi (np./proc, /dev, /sys) oraz inne woluminy podłączone przez oddzielne punkty montowania (na przykład dyski sieciowe lub zewnętrzne).

  • Aby przeskanować konkretny katalog:
sudo ncdu /path/to/directory

Przykładowo, aby przeskanować tylko katalog z logami, uruchom polecenie:

sudo ncdu /var/log

Krok 2: Analiza i usuwanie niepotrzebnych plików

Po uruchomieniu ncdu zobaczysz listę plików i folderów posortowanych według rozmiaru. Nawigacja jest prosta:

  • Strzałki ↑/↓ — poruszanie się po liście.
  • Klawisz Enter — wejście do katalogu.
  • Klawisz D — usunięcie wybranego pliku lub folderu.

Ncdu inctruction 1

ważne

Zachowaj ostrożność przy usuwaniu plików systemowych. Usuwaj tylko te pliki, których przeznaczenie znasz.

Kiedy usuwasz pliki w Linuksie, są one usuwane bezpowrotnie! Można je przywrócić wyłącznie z kopii zapasowej, o ile taka istnieje.

Bezpieczniej będzie sporządzić listę plików i katalogów zajmujących dużo miejsca (zaznaczyć je w ncdu i skopiować do notatnika na lokalnym komputerze), a następnie przeanalizować każdy z osobna i usunąć je z wiersza poleceń.

Aby usunąć plik, uruchom polecenie:

sudo rm -f /path/to/file

A żeby usunąć katalog:

sudo rm -rf /path/to/directory

Oto lista głównych katalogów, które zwykle zajmują dużo miejsca:

  1. /var/www/ - katalog z twoimi stronami

Najwięcej miejsca często zajmują katalogi upload i cache, które zawierają pliki przesłane przez użytkowników oraz pliki pamięci podręcznej stron internetowych. Na przykład:

/var/www/user/data/www/yoursite.com/upload/

Pliki w tych katalogach można bezpiecznie usuwać. Jako administrator swojej strony najlepiej wiesz, które pliki w katalogu upload są istotne, a które można usunąć bez obaw. Sam katalog lepiej zostawić, aby uniknąć zbędnych błędów. 

  1. /var/lib/mysql/

Katalog z bazami danych twoich stron. 

ważne

Nie usuwaj niczego z tego katalogu!

Jeśli zajmuje za dużo miejsca, skontaktuj się z dostawcą usług hostingowych w celu dokładniejszej analizy. 

  1. /var/log/

Katalog z logami działania oprogramowania na twoim serwerze. Ponieważ logi bywają specyficzne, szczegółowe informacje znajdziesz w dedykowanym artykule.


Krok 3: Finalizacja i weryfikacja

Po usunięciu niepotrzebnych plików sprawdź, ile miejsca udało się zwolnić, za pomocą polecenia:

df -h

Jak zmienić hasło MariaDB dla użytkowników root i zwykłych

· 3 min aby przeczytać
Customer Care Engineer

Zapomniałeś hasła root MariaDB? Bez niego nie będziesz mógł zarządzać użytkownikami, bazami danych ani wykonywać kluczowych konfiguracji. W tym artykule dowiesz się, jak szybko zresetować hasło użytkownika root w MariaDB, a także jak zresetować hasło dla zwykłych użytkowników. 

informacja

Root to główny administrator bazy danych. Posiada pełny dostęp do wszystkich baz, tabel, użytkowników i ustawień. Utrata tego hasła może uniemożliwić zarządzanie bazą danych, w tym wprowadzanie kluczowych zmian i wykonywanie ważnych poleceń. 

Wszystkie operacje będą wykonywane w wierszu poleceń za pośrednictwem SSH. Więcej informacji na temat łączenia się z serwerem za pomocą tego protokołu można znaleźć w tym artykule.

Zanim przejdziesz do resetowania hasła, sprawdź plik: /root/.my.cnf Często znajduje się w nim aktualne hasło root do MariaDB

Połączenie można sprawdzić za pomocą polecenia:

mysql -u root -p 

Następnie należy podać hasło z pliku .my.cnf

Jeśli to hasło nie działa, skorzystaj z instrukcji poniżej. 


Resetowanie hasła

informacja

W dalszej części większość poleceń będzie używać mysql, a nie mariadb, do komunikacji z serwerem MariaDB. Dzieje się tak, ponieważ w niektórych systemach operacyjnych, takich jak dystrybucje oparte na RHEL (RockyLinux, AlmaLinux itp.), polecenie mariadb może być niedostępne. Zamiast niego używa się mysql aby zachować kompatybilność z MySQL.

Korzystanie z polecenia mysql gwarantuje uniwersalność instrukcji, niezależnie od używanej dystrybucji lub implementacji serwera bazy danych.

Krok 1: Zatrzymaj MariaDB

Aby zresetować hasło, najpierw należy zatrzymać serwer MariaDB. Wpisz odpowiednią komendę:

systemctl stop mariadb

Krok 2: Uruchom serwer w trybie bezpiecznym

  • Dla Debian i Ubuntu:

Upewnij się, że katalog używany przez MariaDB istnieje i ma konkretnego właściciela:

mkdir -p /var/run/mysqld/ && chown -R mysql: /var/run/mysqld/

Uruchom serwer MariaDB bez sprawdzania uprawnień:

mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &

Jeśli serwer MariaDB uruchomi się poprawnie, zobaczysz podobny komunikat:

2024-11-28T23:50:19.298141Z mysqld_safe Starting mariadb daemon with databases from /var/lib/mysql

Aby wrócić do wiersza poleceń, użyj kombinacji klawiszy „Ctrl + c”. 

  • Dla CentOS/RockyLinux/AlmaLinux:

Uruchom serwer MariaDB bez sprawdzania uprawnień:

mysqld_safe --skip-grant-tables --socket=/var/lib/mysql/mysql.sock &

Aby wrócić do wiersza poleceń, użyj kombinacji klawiszy „Ctrl + c”. 

Krok 3: Połącz się z MariaDB

  • Dla Debian i Ubuntu:
mysql --socket=/var/run/mysqld/mysqld.sock
  • Dla CentOS/RockyLinux/AlmaLinux:
mysql --socket=/var/lib/mysql/mysql.sock

Krok 4: Zresetuj hasło

Wykonaj kolejno następujące polecenia:

FLUSH PRIVILEGES;

Dla użytkownika lokalnego:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Dla użytkownika sieciowego (jeśli taki istnieje):

ALTER USER 'root'@'%' IDENTIFIED BY 'NewPassword';

Następnie:

FLUSH PRIVILEGES;

Zastąp NewPassword swoim nowym hasłem.

informacja

'user'@'localhost' — użytkownik lokalny, który łączy się przez socket lub localhost. 'user'@'%' — użytkownik sieciowy, który może łączyć się z dowolnego adresu IP.

Hasła dla tych użytkowników mogą być takie same lub różne. Jeśli użytkownik sieciowy nie istnieje, polecenie dla @'%’ wywoła błąd.

Następnie wyjdź z MariaDB za pomocą polecenia exit lub skrótu „Ctrl + d”. 

Krok 5: Uruchom ponownie MariaDB

Zatrzymaj serwer MariaDB:

  • Dla Debian i Ubuntu:
mysqladmin shutdown --socket=/var/run/mysqld/mysqld.sock -p

Następnie podaj wcześniej ustawione hasło roota. 

  • Dla CentOS/RockyLinux/AlmaLinux:
mysqladmin shutdown --socket=/var/lib/mysql/mysql.sock -p

Następnie podaj wcześniej ustawione hasło roota. 

Uruchom MariaDB w normalnym trybie:

systemctl start mariadb

Jak zresetować hasło dla zwykłych użytkowników

Jeśli zapomniałeś hasła użytkownika innego niż root, postępuj według poniższych instrukcji:

  1. Połącz się z serwerem MariaDB jako root:
mysql -u root -p

Wprowadź swoje hasło root MariaDB.

  1. Wykonaj polecenie, aby zmienić hasło:

Dla użytkownika lokalnego:

ALTER USER 'username'@'localhost' IDENTIFIED BY 'NewUserPassword';

Dla użytkownika sieciowego (jeśli taki istnieje):

ALTER USER 'username'@'%' IDENTIFIED BY 'NewUserPassword';

Następnie:

FLUSH PRIVILEGES;

Zastąp username nazwą użytkownika, a NewUserPassword nowym hasłem.

Następnie wyjdź z MariaDB za pomocą polecenia exit lub skrótu „Ctrl + D”. 

W razie potrzeby można wyświetlić listę wszystkich użytkowników za pomocą następującego zapytania:

SELECT User, Host FROM mysql.user;

Jak połączyć się z MariaDB lokalnie bez podawania hasła

Aby uniknąć ręcznego wpisywania hasła przy każdym połączeniu z MariaDB, możesz dodać je do pliku /root/.my.cnf

Otwórz plik w edytorze tekstowym:

nano /root/.my.cnf

I dodaj następujące linie:

[client]

user = root
password = YourRootPassword

Zamiast YourRootPassword należy podać prawidłowe hasło użytkownika root.

Następnie zapisz plik za pomocą skrótu klawiaturowego „Ctrl + O” i zamknij edytor tekstu za pomocą „Ctrl + X”. 

Ze względów bezpieczeństwa ustaw bardziej restrykcyjne uprawnienia dostępu do pliku .my.cnf:

chmod 600 /root/.my.cnf

Po tym wystarczy użyć następującego polecenia, aby się połączyć:

mysql -u root

Jak zmienić hasło MySQL dla użytkowników root i zwykłych

· 3 min aby przeczytać
Customer Care Engineer

Zapomniałeś hasła root MySQL? Nie martw się — zdarza się to nawet najbardziej doświadczonym administratorom. W tym artykule podpowiemy, jak zresetować hasło root MySQL dla różnych wersji: MySQL 5.7 oraz MySQL 8.0+. Dodatkowo wyjaśnimy, jak zmienić hasło dla zwykłego użytkownika bazy danych.

informacja

Root to główny administrator bazy danych. Posiada pełny dostęp do wszystkich baz, tabel, użytkowników i ustawień. Utrata tego hasła może uniemożliwić zarządzanie bazą danych, w tym wprowadzanie kluczowych zmian i wykonywanie ważnych poleceń. 

Wszystkie operacje będą wykonywane w wierszu poleceń za pośrednictwem SSH. Więcej informacji na temat łączenia się z serwerem za pomocą tego protokołu można znaleźć w tym artykule

Zanim przejdziesz do resetowania hasła, sprawdź plik: /root/.my.cnf Często znajduje się w nim aktualne hasło root do MySQL

Połączenie można sprawdzić za pomocą polecenia:

mysql -u root -p 

Następnie należy podać hasło z pliku .my.cnf

Jeśli to hasło nie działa, skorzystaj z instrukcji poniżej. 


Resetowanie hasła

Krok 1: Zatrzymaj MySQL

Aby zresetować hasło, najpierw zatrzymaj serwer MySQL. Wpisz odpowiednią komendę:

  • Dla Debian i Ubuntu:
systemctl stop mysql
  • Dla CentOS/RockyLinux/AlmaLinux:
systemctl stop mysqld

Krok 2: Uruchom serwer w trybie bezpiecznym

  • Dla Debian i Ubuntu:

Upewnij się, że katalog używany przez MySQL istnieje i ma konkretnego właściciela:

mkdir -p /var/run/mysqld/ && chown -R mysql: /var/run/mysqld/

Następnie uruchom MySQL bez sprawdzania uprawnień:

mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &

Jeśli MySQL uruchomi się poprawnie, zobaczysz podobny komunikat:

2024-11-28T23:50:19.298141Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Aby wrócić do wiersza poleceń, użyj kombinacji klawiszy „Ctrl + C”.

  • Dla CentOS/RockyLinux/AlmaLinux:
sudo -u mysql mysqld --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &

Krok 3: Połącz się z MySQL

 mysql --socket=/var/run/mysqld/mysqld.sock

Krok 4: Zresetuj hasło

W MySQL 5.7 wykonaj kolejno następujące polecenia:

FLUSH PRIVILEGES;

Dla użytkownika lokalnego:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Dla użytkownika sieciowego (jeśli taki istnieje):

ALTER USER 'root'@'%' IDENTIFIED BY 'NewPassword';

Następnie:

FLUSH PRIVILEGES;

Zastąp NewPassword swoim nowym hasłem.

informacja

'user'@'localhost' — użytkownik lokalny, który łączy się przez socket lub localhost. 'user'@'%' — użytkownik sieciowy, który może łączyć się z dowolnego adresu IP.

Hasła dla tych użytkowników mogą być takie same lub różne. Jeśli użytkownik sieciowy nie istnieje, polecenie dla @'%’ wywoła błąd.

Następnie wyjdź z MySQL za pomocą polecenia exit lub skrótu „Ctrl + D”. 

  • W MySQL 8.0+ uruchom kolejno następujące polecenia:
FLUSH PRIVILEGES;

Dla użytkownika lokalnego:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Dla użytkownika sieciowego (jeśli taki istnieje):

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Następnie:

FLUSH PRIVILEGES;

Zastąp NewPassword swoim nowym hasłem.

Następnie wyjdź z MySQL za pomocą polecenia exit lub skrótu „Ctrl + D”. 

Krok 5: Uruchom ponownie MySQL

Zatrzymaj MySQL:

mysqladmin shutdown --socket=/var/run/mysqld/mysqld.sock -p

Następnie podaj wcześniej ustawione hasło roota. 

Uruchom MySQL w normalnym trybie:

  • Dla Debian i Ubuntu:
systemctl start mysql
  • Dla CentOS/RockyLinux/AlmaLinux:
systemctl start mysqld

Jak zresetować hasło dla zwykłych użytkowników

Jeśli zapomniałeś hasła użytkownika innego niż root, postępuj według poniższych instrukcji:

  1. Połącz się z serwerem MySQL jako root:
mysql -u root -p

Wprowadź swoje hasło root MySQL.

  1. Wykonaj polecenie, aby zmienić hasło:
  • MySQL 5.7:

Dla użytkownika lokalnego:

ALTER USER 'username'@'localhost' IDENTIFIED BY 'NewUserPassword';

Dla użytkownika sieciowego (jeśli taki istnieje):

ALTER USER 'username'@'%' IDENTIFIED BY 'NewUserPassword';

Następnie:

FLUSH PRIVILEGES;

Zastąp username nazwą użytkownika, a NewUserPassword nowym hasłem.

Następnie wyjdź z MySQL za pomocą polecenia exit lub skrótu „Ctrl + D”. 

  • MySQL 8.0+:

Dla użytkownika lokalnego:

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Dla użytkownika sieciowego (jeśli taki istnieje):

ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword';

Zastąp username nazwą użytkownika, a NewUserPassword nowym hasłem.

Następnie wyjdź z MySQL za pomocą polecenia exit lub skrótu „Ctrl + D”. 

W razie potrzeby można wyświetlić listę wszystkich użytkowników za pomocą następującego zapytania:

SELECT User, Host FROM mysql.user;

Jak połączyć się z MySQL lokalnie bez podawania hasła

Aby nie wprowadzać hasła za każdym razem ręcznie podczas łączenia się z MySQL z wiersza poleceń na swoim serwerze, możesz dodać je do pliku /root/.my.cnf

Otwórz plik w edytorze tekstowym:

nano /root/.my.cnf

I dodaj następujące linie:

[client]

user = root
password = YourRootPassword

Zamiast YourRootPassword należy podać prawidłowe hasło użytkownika root.

Następnie zapisz plik za pomocą skrótu klawiaturowego „Ctrl + O” i zamknij edytor tekstu za pomocą „Ctrl + X”. 

Ze względów bezpieczeństwa ustaw bardziej restrykcyjne uprawnienia dostępu do pliku .my.cnf:

chmod 600 /root/.my.cnf

Po tym wystarczy użyć następującego polecenia, aby się połączyć:

mysql -u root

Praca z archiwami TAR w wierszu poleceń systemu Linux

· 2 min aby przeczytać
Customer Care Engineer

Format tar jest bardzo popularny w środowisku Linux i de facto stanowi standard dla archiwizacji danych. Sam w sobie nie kompresuje plików, ale doskonale współpracuje z narzędziami do kompresji, takimi jak gzip czy bzip2. Z tego względu większość archiwów utworzonych za pomocą tego formatu, które znajdziemy w internecie, będzie miała postać nazwa_archiwum.tar.gz.

Przygotowanie do pracy

Zazwyczaj narzędzie tar jest instalowane domyślnie. Aby się upewnić, czy jest dostępne, wykonaj poniższą komendę instalacji tego archiwizatora:

Dla Debian i Ubuntu:

sudo apt update && sudo apt install tar

Dla CentOS oraz Rocky/Alma Linux:

sudo yum makecache && sudo yum install tar

Tworzenie archiwum tar

Bez kompresji:

tar -cvf archive.tar /file/path

Gdzie:

  • -c — tworzy nowe archiwum
  • -v — wyświetla szczegóły w terminalu (przydatne, jeśli chcesz zobaczyć, co się dzieje)
  • -f — określa nazwę pliku archiwum

Z dodatkową kompresją (na przykład gzip):

tar -czvf archive.tar.gz /file/path
  • -z — dodaje kompresję z pomocą gzip.

W większości przypadków warto skorzystać z komendy z dodatkową kompresją, ponieważ pozwala to zaoszczędzić miejsce na dysku oraz skraca czas przesyłania plików na serwer lub z serwera.

Rozpakowywanie archiwum tar

Dla gzip:

tar -xzvf archive.tar.gz

Dla bzip2:

tar -xjvf archive.tar.bz2

Dla archiwum bez kompresji:

tar -xvf archive.tar

Inne przydatne opcje

  • -t — przeglądanie zawartości archiwum bez jego rozpakowywania:
tar -tvf archive.tar

Po uruchomieniu wyświetla w konsoli listę plików zawartych w archiwum, bez jego rozpakowywania.

  • -u — aktualizuje pliki wewnątrz archiwum:
tar -uf archive.tar /path/to/new_files

Przy aktualizacji pliku w archiwum należy pamiętać o kilku szczegółach:

  • Jeśli pliku nowy_plik.txt nie ma jeszcze w archiwum, zostanie on dodany.
  • Jeśli w archiwum jest już plik o tej samej nazwie, ale jego zawartość na dysku została zmieniona, plik ten zostanie zastąpiony nową wersją.

Polecenie to można również wykorzystać dla wielu plików jednocześnie, na przykład:

tar -uf archive.tar /path/to/new_files/*.txt

Komenda ta zaktualizuje wszystkie pliki z rozszerzeniem .txt, które są już w archiwum, i doda nowe, jeśli jeszcze nie zostały uwzględnione.

Praca z archiwami RAR w wierszu poleceń systemu Linux

· 2 min aby przeczytać
Customer Care Engineer

Format RAR jest ceniony za wysoki poziom kompresji, wsparcie dla odzyskiwania danych oraz solidną ochronę przed modyfikacjami, co sprawiło, że stał się bardzo popularny w systemie Windows. Choć nie jest aż tak często stosowany przez użytkowników i administratorów systemu Linux, czasami może zajść potrzeba pracy z tym formatem na serwerze. Poniżej przedstawiamy podstawowe komendy i opcje umożliwiające sprawną pracę z archiwami RAR w wierszu poleceń.

Przygotowanie do pracy

Przed rozpoczęciem upewnij się, że masz zainstalowane odpowiednie pakiety do obsługi archiwów rar.

Dla Debian i Ubuntu:

sudo apt update && sudo apt install rar unrar

Dla CentOS oraz Rocky/Alma Linux:

# Dodaj dodatkowe repozytorium EPEL, ponieważ rar nie jest dostępny w tych systemowych
sudo yum install epel-release
sudo yum makecache && sudo yum install rar unrar

Tworzenie archiwum RAR

Aby utworzyć archiwum, użyj polecenia:

rar a archive.rar /directory/path/

Na przykład:

rar a backup.rar /var/www/html/

Rozpakowywanie archiwum rar

Aby rozpakować archiwum w bieżącym katalogu, użyj komendy:

unrar x archive.rar

Jeśli chcesz rozpakować archiwum do innego katalogu, podaj jego ścieżkę na końcu polecenia. Na przykład:

unrar x backup.rar /home/user/backup/

Inne przydatne opcje

  • -l — wyświetla listę plików wewnątrz archiwum bez jego rozpakowywania:
unrar l archive.rar
  • -u — aktualizuje pliki wewnątrz archiwum:
rar u archive.rar /path/to/new_files

Przy aktualizacji pliku w archiwum należy pamiętać o następujących szczegółach:

  • Jeśli pliku nowy_plik.txt nie ma jeszcze w archiwum, zostanie on dodany.
  • Jeśli w archiwum jest już plik o tej samej nazwie, ale jego zawartość na dysku została zmieniona, plik ten zostanie zastąpiony nową wersją.

Polecenie to można również wykorzystać dla wielu plików jednocześnie, na przykład:

rar u archive.rar *.txt

Komenda ta zaktualizuje wszystkie pliki z rozszerzeniem .txt, które są już w archiwum, i doda nowe, jeśli jeszcze nie zostały uwzględnione.

  • -p — ustawia hasło dla archiwum:
rar a -p archive.rar /file/path

Praca z archiwami ZIP w wierszu poleceń systemu Linux

· 1 min aby przeczytać
Customer Care Engineer

ZIP to jeden z najczęściej używanych formatów do kompresji plików. Na komputerach osobistych można z łatwością zarządzać takimi archiwami za pomocą intuicyjnego interfejsu graficznego, jednak na serwerach opcja ta zazwyczaj nie jest dostępna. Dlatego warto poznać podstawowe polecenia, które umożliwiają wykonywanie typowych operacji w wierszu poleceń.

Przygotowanie do pracy

Przed rozpoczęciem należy upewnić się, że masz zainstalowane pakiety do pracy z archiwami zip.

Dla Debian i Ubuntu:

sudo apt update && sudo apt install zip unzip

Dla CentOS oraz Rocky/Alma Linux:

sudo yum makecache && sudo yum install zip unzip

Tworzenie archiwum ZIP

Aby utworzyć archiwum, użyj polecenia:

zip -r archive_name.zip /directory/path/

Opcja -r służy do rekurencyjnego dodawania wszystkich plików i podkatalogów do archiwum.

Rozpakowywanie archiwum ZIP

unzip archive.zip

Domyślnie zawartość zostanie rozpakowana do bieżącego katalogu. Jeśli chcesz rozpakować archiwum w inne miejsce, skorzystaj z opcji -d.

Na przykład:

unzip backup.zip -d /home/user/backup/

Inne przydatne opcje

  • -l — wyświetla listę plików wewnątrz archiwum bez jego rozpakowywania:
unzip -l archive.zip
  • -u — aktualizuje plik wewnątrz archiwum:
zip -u archive.zip new_file.txt

Przy aktualizacji pliku w archiwum należy pamiętać o kilku szczegółach:

  • Jeśli pliku nowy_plik.txt nie ma jeszcze w archiwum, zostanie on dodany.
  • Jeśli w archiwum jest już plik o tej samej nazwie, ale jego zawartość na dysku została zmieniona, plik ten zostanie zastąpiony nową wersją.

Polecenie to można również wykorzystać dla wielu plików jednocześnie, na przykład:

zip -u archive.zip *.txt

Komenda ta zaktualizuje wszystkie pliki z rozszerzeniem .txt, które są już w archiwum, i doda nowe, jeśli jeszcze nie zostały uwzględnione.

  • -e — ustawia hasło dla archiwum:
zip -e archive.zip /file/path

Jak korzystać z serwera

· 2 min aby przeczytać
Customer Care Engineer

Jak korzystać z serwera FTP?

Podczas pracy z serwerami FTP i SFTP ważne jest, aby zrozumieć, jak prawidłowo łączyć się i chronić swoje dane. W tym przewodniku przyjrzymy się instrukcjom krok po kroku, jak skonfigurować połączenia z serwerami FTP i SFTP, a także dowiemy się, jak używać kluczy SSH w celu zwiększenia bezpieczeństwa połączenia.

Korzystanie ze specjalnego klienta FTP jest najlepszym sposobem na uproszczenie życia podczas pracy z FTP. Przyjazny dla użytkownika interfejs pozwoli na wysyłanie i odbieranie danych z komputera na serwer. Najpopularniejszymi klientami FTP są:

  • WinSCP dla Windows

  • Transmit

  • Cyberduck

  • Filezilla

Rozważmy połączenie z serwerem za pomocą Filezilla w systemie Windows.

  1. Otwórz menedżera witryn (File – Site manager). Kliknij przycisk „New site”.

27-08-ftp-sftp-1.png

  1. Wprowadź nazwę połączenia i dane logowania.

  2. Wybierz tryb szyfrowania „Use explicit FTP over TLS if available”.

  3. Kliknij „Connect”.

  4. Teraz możesz pracować z serwerem FTP i przesłać na niego pierwsze dane.

Jak korzystać z serwera SFTP?

  1. Otwórz menedżera witryn (File – Site manager). Kliknij przycisk „New site".**

27-08-ftp-sftp-1.png

  1. Wprowadź nazwę połączenia i dane dostępu.

  2. Wybierz protokół SFTP na karcie Ogólne.

  3. Kliknij „Connect”.

  4. Teraz możesz pracować z serwerem SFTP i przesłać na niego pierwsze dane.

Zalecamy, aby do pracy zawsze wybierać protokół SFTP. Wszystkie funkcje FTP są tutaj dostępne, a SSH chroni dane.

Jak używać kluczy SSH z SFTP?

Klucz SSH to bezpieczny sposób łączenia się z serwerem. Łączenie się przez SSH za pomocą klucza eliminuje możliwość złamania hasła.

Klucze SSH umożliwiają uwierzytelnianie bez hasła. Klucze to zestaw setek różnych znaków, w tym wielkich i małych liter alfabetu łacińskiego oraz znaków specjalnych. Całkowita długość wynosi często od 1024 do 4096 bitów. Uwierzytelnianie wymaga dwóch kluczy SSH, jednego publicznego i jednego prywatnego.

  • Klucze publiczne są dostępne dla każdego. Służą do szyfrowania danych podczas uzyskiwania dostępu do serwera. Mówiąc najprościej, jest to zestaw znaków, których używamy do szyfrowania informacji.

  • Klucz prywatny jest kluczem do zamka. Odszyfrowuje on dane. Musisz być z nim o wiele bardziej ostrożny: przechowuj go bezpiecznie i nie udostępniaj osobom trzecim.

W menu Edytuj przejdź do Ustawień. W sekcji Connection › SFTP można dodać istniejący klucz prywatny SSH. W Menedżerze witryn wybierz Interaktywny typ logowania, aby połączyć się z witryną SFTP.

27-08-ftp-sftp-2.png

Jak wygenerować klucze SSH?

Klucze publiczne i prywatne można tworzyć za pomocą PuTTYgen. PuTTY przechowuje klucze we własnym formacie w plikach .ppk. Aby utworzyć nową parę kluczy, wybierz typ klucza do wygenerowania z dołu ekranu. Najpopularniejszym typem jest RSA z 2048 bitami.

27-08-ftp-sftp-3.png

Następnie kliknij Generate i zacznij poruszać myszą w oknie. Putty wykorzystuje ruchy myszy do uzyskania losowości. Po zakończeniu klucz publiczny powinien pojawić się w oknie. Zapisz klucz jako plik .ppk.

27-08-ftp-sftp-4.png

Instalowanie klucza publicznego

Dostęp do konta jest przyznawany poprzez dodanie klucza publicznego do pliku ~/.ssh/authorized_keys na serwerze.

Aby dodać klucz publiczny, zaloguj się do serwera, edytuj plik authorized_keys, a następnie wytnij i wklej klucz publiczny do pliku authorized_keys. Zapisz plik. Dodaj plik klucza prywatnego (.ppk) do PuTTY. Następnie sprawdź, czy logowanie działa.

Zaleca się okresową regenerację i zmianę wszystkich kluczy SSH.

Wnioski

Korzystając z klientów FTP i postępując zgodnie z naszymi instrukcjami, można łatwo zarządzać plikami na serwerze. Nie zapominaj o znaczeniu kluczy SSH dla ochrony swoich danych, regularnie je aktualizuj i przestrzegaj zasad bezpieczeństwa, aby zminimalizować ryzyko podczas pracy ze zdalnymi serwerami.

Dlaczego FTP jest przestarzałą technologią

· 2 min aby przeczytać
Customer Care Engineer

Protokół FTP jest bardzo popularny ze względu na swoją prostotę i dostępność. Jest on jednak niezwykle przestarzały i niepewny. Poniżej przedstawiamy powody, dla których warto z niego zrezygnować.

Problemy w architekturze FTP

Ogólnie rzecz biorąc, FTP nie ma poziomu bezpieczeństwa wymaganego dla nowoczesnego Internetu, a ogólny projekt protokołu jest szczerze mówiąc nieodpowiedni dla nowoczesnego Internetu. Został on opracowany w latach 70-tych, kiedy wymagania technologiczne bardzo różniły się od dzisiejszych. Zrozummy trochę więcej o jego strukturze.

FTP działa na dwóch kanałach: poleceń i danych. Kanał danych ma dwa tryby transmisji - aktywny i pasywny.

Różnica między trybem aktywnym i pasywnym polega na tym, po której stronie inicjowane jest ustanowienie połączenia danych.

W trybie pasywnym serwer otwiera losowy port z zakresu dynamicznego po swojej stronie i informuje o tym klienta; klient inicjuje połączenie TCP z tym portem.

W trybie aktywnym losowy port z zakresu dynamicznego jest otwierany po stronie klienta i to serwer inicjuje połączenie TCP. W większości przypadków tryb ten nie jest odpowiedni ze względu na specyfikę ustawień translacji adresów (NAT) po stronie domowych dostawców Internetu, które nie pozwalają na nawiązanie połączenia przychodzącego z urządzeniem klienckim.

Wady FTP

Aby przesłać dowolny plik za pośrednictwem FTP, klient i serwer muszą wymienić bardzo dużą liczbę wiadomości. Prowadzi to do utraty dużej ilości czasu i zasobów.

Opóźnienia występują nie tylko na poziomie FTP, ale także na poziomie TCP, ponieważ przesyłanie każdego pojedynczego pliku wymaga otwarcia nowego połączenia TCP. Jeśli trzeba przesłać więcej niż "kilka" plików, jest to bardzo niewygodne.

Kolejnym problemem jest to, że nie można sprawdzić, czy transfer się powiódł, czy nie. Serwer nie zna nawet rozmiaru pliku. Jeśli coś nie załaduje się podczas transferu, ani klient, ani serwer nie będą o tym wiedzieć.

FTP ma inne ograniczenia, które sprawiają, że praca z nim jest niezwykle niewygodna. Na przykład, nie można usuwać katalogów. Trzeba usuwać wszystkie pliki pojedynczo, a dopiero potem sam katalog.

Ponadto FTP nie obsługuje znaków specjalnych. Istnieją pewne sposoby, aby nadal z nich korzystać, ale te tymczasowe rozwiązania nieuchronnie spowodują problemy w pracy.

Duże problemy z prywatnością. W FTP dane uwierzytelniające są przesyłane w postaci niezaszyfrowanej. Nazwa użytkownika i hasło są przesyłane w postaci zwykłego tekstu, który może zostać odczytany przez każdego, kto jest w stanie przechwycić ruch sieciowy.

Same dane również nie są szyfrowane. Dlatego też wysyłanie jakichkolwiek poufnych informacji za pośrednictwem FTP jest wysoce niepożądane.

W przypadku, gdy nadal konieczne jest korzystanie z protokołu FTP, należy zwrócić szczególną uwagę na ochronę połączenia z Internetem. To temat na osobny artykuł, ale przynajmniej lepiej nie korzystać z publicznych sieci Wi-Fi i używać VPN, najlepiej na własnym serwerze.

Bezpieczna alternatywa dla FTP - SFTP

Oczywiście istnieje kilka alternatyw. Wspomnijmy o najbardziej optymalnym wariancie z nich. Jest nim SFTP (SSH File Transfer Protocol). Jego najbardziej oczywistą zaletą jest bezpieczeństwo i szyfrowanie danych.

Inne zalety SFTP obejmują:

  • wstrzymywanie i wznawianie przesyłania danych,

  • całkowite zatrzymanie transferu plików,

  • możliwość wykonywania podstawowych poleceń administracyjnych,

  • transfer metadanych.

Korzystanie z SSH w ramach protokołu SFTP zapewnia następujące korzyści:

  • Uwierzytelnianie klienta i serwera. Uwierzytelnianie SSH opiera się na parze kluczy publicznych i prywatnych. Pozwala to dokładnie określić, czy klient żądający połączenia z serwerem jest legalny.

  • Szyfrowanie danych. Dostępne są typy RSA, DSA i inne.

  • Transmisja danych przez pojedynczy port, co zmniejsza prawdopodobieństwo ataku MITM.

Tak więc jedynym powodem, dla którego FTP jest nadal popularny i używany, jest siła przyzwyczajenia. Ale ten nawyk powinien zostać przełamany. I przejść na SFTP.