Pada dunia administrasi server dan pengelolaan file, salah satu cara terbaik untuk melakukan sinkronisasi file antara dua sistem adalah menggunakan rsync
. Dengan rsync
, kamu bisa dengan mudah mentransfer data dari satu sistem ke sistem lain melalui jaringan, bahkan dengan menggunakan SSH untuk memastikan keamanan transfer data. Artikel ini akan membahas bagaimana cara menggunakan rsync
untuk sinkronisasi folder spesifik melalui SSH.
Perintah Dasar Rsync melalui SSH
Kamu bisa menjalankan perintah rsync
dengan format dasar sebagai berikut:
rsync -avz -e ssh /path/to/local/folder user@remote_host:/path/to/remote/folder
Penjelasan Perintah:
rsync
: Utilitas baris perintah untuk mentransfer dan sinkronisasi file.-a
: Mode arsip; kamu akan memastikan bahwa symlink, perangkat, atribut, izin, kepemilikan, dan sebagainya tetap terjaga.-v
: Output verbose; memberikan informasi lebih detail tentang proses transfer.-z
: Mengompresi data file selama transfer untuk menghemat bandwidth.-e ssh
: Menentukan bahwassh
digunakan untuk transfer data./path/to/local/folder
: Path ke folder lokal yang ingin disinkronkan.user@remote_host:/path/to/remote/folder
: Pengguna SSH, nama host, dan path ke folder tujuan di mesin remote.
Catatan Penting:
Penggunaan Trailing Slash (Garis Miring Akhir) Penting:
- Dengan Trailing Slash (
/path/to/local/folder/
): Akan mensinkronkan isi folder lokal ke folder remote. - Tanpa Trailing Slash (
/path/to/local/folder
): Akan mensinkronkan folder lokal beserta isinya ke folder remote.
- Dengan Trailing Slash (
Sinkronisasi dari Remote ke Lokal:
Jika kamu ingin sinkronisasi dari server remote ke komputer lokal, kamu hanya perlu membalikkan sumber dan tujuan:
rsync -avz -e ssh user@remote_host:/path/to/remote/folder /path/to/local/folder
Menggunakan Port SSH yang Berbeda:
Jika server SSH kamu menggunakan port selain port standar (22), kamu bisa menambahkan opsi port:
rsync -avz -e 'ssh -p 2222' /path/to/local/folder user@remote_host:/path/to/remote/folder
Menggunakan SSH Key untuk Autentikasi:
Jika kamu sudah mengatur SSH key untuk autentikasi tanpa password,
rsync
akan menggunakan kunci tersebut secara otomatis saat mentransfer file.Mengecualikan File atau Direktori:
Jika kamu ingin mengecualikan file atau direktori tertentu dari sinkronisasi, kamu bisa menggunakan opsi
--exclude
:rsync -avz --exclude 'node_modules' -e ssh /path/to/local/folder user@remote_host:/path/to/remote/folder
Contoh Penggunaan:
Misalkan kamu ingin mensinkronkan folder lokal /home/user/projects
ke folder remote /var/backups/projects
di server remote remote.example.com
, kamu bisa menjalankan perintah berikut:
rsync -avz -e ssh /home/user/projects/ user@remote.example.com:/var/backups/projects/
Perintah ini akan:
- Menyalin seluruh isi folder
/home/user/projects/
ke/var/backups/projects/
di server remote. - Menjaga izin file, kepemilikan, dan timestamp.
- Mengompresi data selama transfer untuk mempercepat proses.
- Menggunakan SSH untuk memastikan transfer data yang aman.
Menggunakan Rsync dengan Aman
Jalankan Dry Run Terlebih Dahulu:
Sebelum melakukan sinkronisasi, sangat disarankan untuk menjalankan dry run terlebih dahulu agar kamu bisa melihat file apa saja yang akan ditransfer tanpa benar-benar memindahkannya. Gunakan opsi
--dry-run
seperti ini:rsync -avz --dry-run -e ssh /path/to/local/folder user@remote_host:/path/to/remote/folder
Mengoptimalkan Kinerja:
Jika kamu memiliki banyak file besar untuk disinkronkan, pertimbangkan untuk menggunakan opsi
--progress
agar kamu bisa melihat progres transfer, atau opsi--partial
untuk melanjutkan transfer yang terputus.
Kesimpulan
rsync
adalah alat yang sangat kuat dan fleksibel untuk sinkronisasi file dan folder, terutama ketika digunakan bersama SSH untuk memastikan keamanan transfer data. Dengan beberapa opsi sederhana, kamu bisa dengan mudah mengelola dan memindahkan data antar server dengan aman. Semoga artikel ini membantu kamu memahami cara menggunakan rsync
untuk sinkronisasi folder spesifik melalui SSH.
Komentar
Posting Komentar