RSS Feed

Rozpakowanie przez ssh ze zdalnej maszyny

Sierpień 4th, 2010 by admin in SSH, Shell

Rozpakować ze zdalnej maszyny na dysk lokalny można zrobić tak:

ssh login@host "cat plik_backup.tar.gz" | tar xvzf -


Kopiowanie używając rsync

Lipiec 31st, 2010 by admin in Shell

Synchronizowanie katalogu ze zdalnego serwera do dysk lokalny:

rsync -ave ‘ssh -p22′ –del skad@serwer:/katalog /docelowy/katalog

Kopiowanie całego systemu plików bez /proc:

rsync -ave ‘ssh -p22′ –del –exclude ‘/proc’ skad@serwer:/ /docelowy/katalog

Opcja –del powoduje, że pliki których już nie ma w źródle zostaną usunięte.


Jak podzielić mysqldump -all na poszczególne bazy?

Lipiec 20th, 2010 by admin in Shell

Komendą mysqldump z parametrem –all-databases można zrobić zrzut wszystkich baz na serwerze do jednego pliku. Powstaje zazwyczaj wielki plik, który ciężko przeglądać. Jak wyciągnąć z niego poszczególne bazy? Używając komendy csplit można zrobić to tak:

csplit –f "baza_" mysqlbackup0101.sql "/^CREATE DATABASE /" {*}

po wykonaniu takej komendy powstanie osobny plik baza_XX dla każdej bazy z pliku źródłowego.


Przykłady wykorzystania polecenia find

Grudzień 2nd, 2009 by admin in Shell

Skasowanie wszystkich plików starszych niż 15 dni (21600=60*24*15)

find /mnt/backup/backup* -cmin +21600 -exec rm -r {} \;

Zmiana we wszystkich plikach index.php w podkatalogach $z na _$GET['z'] (czyli poprawienie użycia zmiennej przy ustawieniu na serwerze register_globals=off)

find */index\.php -exec sed -i 's/$z/$_GET['z']/' {} \;