Chcesz utworzyć plik tar z dala od miejsca, w którym znajdują się pliki, które potrzebujesz?
Istnieje wiele sposobów, aby to zrobić.
Jeśli ma zostać utworzony lokalnie (= na tym samym komputerze):
tar czvf /path/to/destination/newfile.tar.gz ./SOURCEDIR_OR_FILES
Możesz dodać dodatkowe pliki lub katalogi do tar na końcu tego polecenia.
Jeśli ma zostać utworzony zdalnie (tzn. Chcesz utworzyć plik tar na hoście zdalnym z hosta zawierającego dane, które mają być wytarowane):
tar czvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cat > newfile.tar.gz'
Późniejsza wersja jest bardzo wszechstronna. Na przykład można również „zduplikować” katalog + katalogi przy użyciu tej samej techniki:
Zduplikuj katalog + podkatalogi do innego katalogu lokalnego:
tar cf - ./SOURCEDIR_OR_FILES | ( cd LOCAL_DEST_DIR && tar xvf - )
Zduplikuj katalog + podkatalogi do innego katalogu zdalnego:
tar cvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cd REMOTE_DEST_DIR && tar xf - '
Upuść „v”, jeśli nie potrzebujesz, aby wyświetlać pliki, ponieważ są one tarowane (lub nieoprawione): wtedy pójdzie znacznie szybciej, ale nie powie dużo, chyba że wystąpi błąd.
Używam „. / ...” dla źródła, aby zmusić tar do zapisania go jako ścieżki względnej. W niektórych przypadkach będziesz chciał dodać dodatkowe informacje o ścieżce:
Na przykład, aby spakować pliki crontab, w tym plik w / etc, możesz:
cd / ; tar czf all_crons.tgz ./etc/*cron* ./var/spool/cron
Używam celowo ścieżki względnej: niektóre STARE wersje tar mogą być niebezpieczne i wyodrębniać pliki z ich oryginalną ścieżką GLOBALNĄ, co oznacza, że możesz to zrobić: cd /safedir ; tar xvf sometar
a pliki z nazwami globalnymi nadpisują pliki w ich oryginalnej ścieżce, która jest NA ZEWNĄTRZ / Safedir i nie pod spodem! Bardzo niebezpieczne i wciąż możliwe, ponieważ istnieją tam stare serwery produkcyjne. Lepiej jest przez cały czas używać względnych ścieżek, nawet jeśli używasz nowszej tar.
cd /opt; tar zcf $HOME/junk.tar.gz junk
.