🢂Przeniesienie WP na inny serwer (za pomocąCLI)
Przeniesienie WP na inny serwer (CLI)
Przeniesienie WP na inny serwer (CLI)
Aby przenieść stronę WordPress z jednego serwera na inny, używając tylko narzędzi CLI (Command Line Interface), możesz wykonać poniższe kroki.
Krok 1
Zaczynamy od zrobienie kopii zapasowej bazy danych na serwerze źródłowym.
Wynikiem tego zadania jest plik backup_YYYY_MM-DD_HMS.sql
(np. backup_2025_01-30_123456.sql
).
wp db export "backup_$(date +%Y_%m-%d_%H%M%S).sql"
Krok 2
Zaktualizuj adresy URL w bazie danych. Celowo pomijamy kolumnę guid
, ponieważ jest to unikalny identyfikator wpisu, który nie powinien być zmieniany.
--all-tables
pozwala na zaktualizowanie adresów URL w wszystkich tabelach. Oczywiście old-domain.com
i new-domain.com
należy zastąpić odpowiednimi adresami URL :).
Pamiętaj aby nie dodwawać http://
lub https://
przed adresem URL.
wp search-replace 'old-domain.com' 'new-domain.com' --skip-columns=guid --all-tables
następne polecenie pozwoli nam zaktualizować adresy URL w bazie danych z http://
na https://
gdyby pojawiły się błędy w wersji dev.
wp search-replace 'http://new-domain.com' 'https://new-domain.com' --skip-columns=guid --all-tables
wyniki powinien być podobny do tego:
+------------------------------+-----------------------+--------------+------+
| Table | Column | Replacements | Type |
+------------------------------+-----------------------+--------------+------+
| wp_actionscheduler_actions | hook | 0 | SQL |
| wp_actionscheduler_actions | status | 0 | SQL |
| wp_actionscheduler_actions | args | 0 | SQL |
| wp_actionscheduler_actions | schedule | 0 | PHP |
| wp_actionscheduler_actions | extended_args | 0 | SQL |
| wp_actionscheduler_groups | slug | 0 | SQL |
...
| wp_actionscheduler_logs | message | 0 | SQL |
| wp_postmeta | meta_key | 0 | SQL |
| wp_postmeta | meta_value | 13 | PHP |
| wp_posts | post_content | 20 | SQL |
| wp_posts | post_title | 0 | SQL |
| wp_posts | post_excerpt | 0 | SQL |
...
+----------------------------+-----------------------+--------------+------+
Success: Replaced 33 of 1000 items.
gdzie 33
to liczba zastąpionych wpisów.
Krok 3
Robimy zrzut bazy danych na serwerze źródłowym (teraz ze zaktualizowanymi adresami URL).
wp db export "bazadanych_$(date +%Y_%m-%d_%H%M%S).sql"
Krok 4
Wskazówka: Do przeniesienia plików możesz użyć programów takich jak FileZilla, WinSCP czy Cyberduck.
Aby przesłać pliki WordPress na serwer FTP za pomocą ncftp
, postępuj zgodnie z poniższymi krokami. Zakładając, że masz dostęp do serwera FTP (w tym przypadku ftp.slackware.com), poniżej opisuję cały proces przesyłania plików przy użyciu narzędzia ncftp.
Zainstaluj ncftp
na Debianie
sudo apt update
sudo apt install ncftp
- Połączenie z serwerem FTP
Użyj komendy ncftp
do połączenia się z serwerem FTP. Na przykład:
ncftp -u ftpuser -p qwe123 ftp.slackware.com
Po uruchomieniu tej komendy powinieneś być połączony z serwerem FTP. Jeśli połączenie jest udane, powinieneś zobaczyć prompt ncftp>
.
- Utworzenie katalogu
Po pomyślnym połączeniu się z serwerem, użyj komendy mkdir
, aby utworzyć nowy katalog. Na przykład:
mkdir /domains/jakasdomena.pl/public_html2
Ta komenda utworzy katalog public_html2
w bieżącym katalogu na serwerze FTP.
- Sprawdzanie katalogu
Aby upewnić się, że katalog został utworzony, użyj komendy ls
:
ls
Komenda ta powinna wyświetlić listę plików i katalogów w bieżącym katalogu na serwerze FTP, w tym nowo utworzony katalog public_html2
.
- Przesyłamy wszystkie pliki z katalogu
Załóżmy, że chcesz przesłać wszystkie pliki z katalogu
~/www/wordpress
na serwer FTP do katalogu/domains/jakasdomena.pl/public_html2
. Oto jak może wyglądać pełny proces:
Przejdź do katalogu lokalnego, gdzie znajdują się pliki WordPressa:
lcd ~/www/wordpress
Przejdź do katalogu na serwerze FTP, gdzie chcesz przesłać pliki:
cd /public_html2
Prześlij wszystkie pliki i katalogi:
mput -R *
W konsoli zobaczysz coś takiego:
...
wp-admin/network/upgrade.php: 4.85 kB 99.90 kB/s
wp-admin/network/settings.php: 21.46 kB 264.61 kB/s
wp-admin/network/site-info.php: 7.59 kB 154.36 kB/s
wp-admin/network/about.php: 245.00 B 5.13 kB/s
wp-admin/network/user-new.php: 5.12 kB 105.64 kB/s
wp-admin/network/freedoms.php: 251.00 B 5.07 kB/s
wp-admin/network/menu.php: 4.63 kB 95.61 kB/s
wp-admin/network/site-settings.php: 5.49 kB 140.72 kB/s
wp-admin/network/update-core.php: 253.00 B 5.34 kB/s
wp-admin/network/site-users.php: 10.82 kB 225.11 kB/s
wp-admin/network/plugins.php: 249.00 B 6.44 kB/s
wp-admin/network/theme-install.php: 374.00 B 7.52 kB/s
wp-admin/network/plugin-install.php: 377.00 B 7.90 kB/s
wp-admin/network/site-new.php: 9.35 kB 198.85 kB/s
wp-admin/network/index.php: 2.84 kB 58.57 kB/s
wp-admin/network/site-themes.php: 6.71 kB 134.04 kB/s
wp-admin/network/credits.php: 249.00 B 5.20 kB/s
wp-admin/network/sites.php: 13.26 kB 261.88 kB/s
wp-admin/network/update.php: 450.00 B 9.37 kB/s
wp-admin/network/profile.php: 254.00 B 5.32 kB/s
wp-admin/network/users.php: 9.28 kB 235.02 kB/s
wp-admin/network/plugin-editor.php: 266.00 B 5.55 kB/s
...
Zakończ połączenie:
quit
Podsumowując:
Aby przesłać pliki WordPress na serwer FTP za pomocą ncftp
, wykonaj następujące kroki:
- Połącz się z serwerem FTP za pomocą
ncftp -u [użytkownik] -p [hasło] [adres_serwera]
. - Użyj komendy
lcd
, aby przejść do katalogu lokalnego. - Użyj komend
cd
imput
/put
, aby przesłać pliki. - Zakończ połączenie komendą
quit
.