Anda ingin membuat file tar jauh dari tempat file yang Anda perlu tar berada?
Ada banyak cara untuk melakukan ini.
Jika ingin dibuat secara lokal (= pada mesin yang sama):
tar czvf /path/to/destination/newfile.tar.gz ./SOURCEDIR_OR_FILES
Anda dapat menambahkan file tambahan atau direktori ke tar di akhir perintah itu.
Jika ingin dibuat dari jarak jauh (yaitu, Anda ingin membuat file tar pada host jarak jauh dari yang berisi data yang akan ditala):
tar czvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cat > newfile.tar.gz'
Versi yang lebih baru sangat serbaguna. Misalnya Anda juga bisa "menduplikasi" direktori + subdir menggunakan teknik yang sama:
Gandakan subdirektori direktori + ke direktori lokal lain:
tar cf - ./SOURCEDIR_OR_FILES | ( cd LOCAL_DEST_DIR && tar xvf - )
Gandakan subdirektori direktori + ke direktori jarak jauh lain:
tar cvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cd REMOTE_DEST_DIR && tar xf - '
Lepaskan 'v' jika Anda tidak memerlukannya untuk menampilkan file karena file tersebut ter-tar (atau tidak ditandai): maka akan berjalan lebih cepat, tetapi tidak akan banyak bicara kecuali ada kesalahan.
Saya menggunakan "./ ..." untuk sumber memaksa tar untuk menyimpannya sebagai jalur RELATIF. Dalam beberapa kasus, Anda ingin menambahkan informasi jalur tambahan:
Sebagai contoh untuk tar file crontab, termasuk yang ada di / etc, Anda bisa melakukan:
cd / ; tar czf all_crons.tgz ./etc/*cron* ./var/spool/cron
Saya sengaja menggunakan jalur relatif: beberapa versi tar LAMA mungkin berbahaya dan mengekstrak file dengan jalur GLOBAL aslinya, artinya Anda dapat melakukannya: cd /safedir ; tar xvf sometar
dan meminta file dengan nama global menimpa file di jalur aslinya, yang berada di luar / safedir dan tidak di bawahnya! Sangat berbahaya, dan masih mungkin karena ada server produksi lama di luar sana. Lebih baik digunakan untuk menggunakan jalur relatif sepanjang waktu, bahkan jika Anda menggunakan tar yang lebih baru.
cd /opt; tar zcf $HOME/junk.tar.gz junk
,.