Transfer Berkas di Server Linux: Memindahkan File ke Mesin yang Tak Bisa Kamu Sentuh

Server-mu nangkring di suatu tempat yang jauh, tanpa port USB yang bisa kamu colok. Lalu bagaimana file bisa masuk dan keluar dari sana? Pelajari cara-cara inti memindahkan berkas ke server Linux — scp, sftp, rsync, dan download langsung — lengkap dengan kapan memakai yang mana dan jebakan yang.

Diterbitkan 25 September 202610 menit bacaOleh ACY Partner Indonesia
Transfer berkas di server Linux — memindahkan file antara mesinmu dan server jarak jauh
300 × 250Slot Iklan TersediaPasang iklan Anda di sini

Server-mu duduk manis di sebuah data center entah di mana, mungkin di benua lain. Tidak ada port USB yang bisa kamu colok, tidak ada jendela seret-dan-lepas, tidak ada layar buat menancapkan flash disk. Tapi anehnya, file website-mu, file konfigurasimu, semua backup-mu — semuanya tetap harus sampai ke sana. Dan saat ada yang rusak jam 2 pagi, kamu butuh menarik satu file log keluar dari sana secepat itu juga. Lalu bagaimana semua itu sebenarnya terjadi?

Jawabannya adalah segelintir tool kecil yang andal, yang sudah mengerjakan tugas ini selama berpuluh tahun. Begitu kamu paham beberapa cara inti memindahkan file lewat jaringan, kamu nggak akan pernah lagi merasa buntu cuma karena menatap mesin yang jauh. Yuk kita bahas satu per satu — apa mereka, kapan kamu pakai yang mana, dan detail-detail kecil yang bisa menghemat banyak kepusinganmu.

Masalahnya: komputer yang cuma bisa kamu raih lewat jaringan

Kalau sebuah server itu jauh, kamu berinteraksi dengannya hampir sepenuhnya lewat jaringan. Kamu sudah melakukannya saat membuka sesi terminal di server itu — dan kalau kamu pernah baca soal command line, kamu tahu koneksi berbasis teks itu adalah setir utamamu. Transfer berkas konsepnya sama persis, cuma kali ini untuk file, bukan untuk perintah.

Ada satu pembagian sederhana yang berguna di sini. Sebagian transfer berjalan dari mesinmu ke server (mengunggah website, mendorong perubahan konfigurasi). Sebagian lagi berjalan dari server ke mesinmu (mengunduh log, menarik backup). Dan sebagian membawa file dari internet langsung ke server, tanpa sama sekali mampir ke laptopmu. Tiap arah punya tool yang paling pas, dan kebanyakan dari mereka menumpang pada koneksi aman yang sama dengan yang sudah dipakai terminalmu.

   LAPTOP KAMU                         SERVER JAUH
        │                                   │
        │   upload  ───────────────────►    │   (scp / sftp / rsync)
        │                                   │
        │   download ◄───────────────────   │   (scp / sftp / rsync)
        │                                   │
        │              ┌─────────────┐      │
        └──────────────│  INTERNET   │──────┴──►  download langsung
                       └─────────────┘           ke server
                                                 (wget / curl)

Hampir setiap tool transfer aman yang bakal kamu temui dibangun di atas SSH — saluran terenkripsi yang sama, yang kamu pakai untuk login ke server dan menjalankan perintah. Itu inti yang perlu kamu pegang: kalau kamu bisa SSH ke sebuah mesin, hampir pasti kamu juga bisa memindahkan file ke dan dari mesin itu, karena tool-tool file tadi meminjam koneksi yang persis sama.

Aman sejak awal, dan itu penting

Tool jadul seperti FTP mengirim file-mu — dan kadang password-mu — melintasi jaringan dalam bentuk teks polos yang bisa dibaca siapa saja. Di internet zaman sekarang itu risiko yang serius. Tool yang kita bahas di sini (scp, sftp, rsync di atas SSH) mengenkripsi semuanya dari ujung ke ujung, jadi siapa pun yang mengintip koneksimu cuma melihat suara berisik yang teracak. Kapan pun kamu punya pilihan, ambil tool yang berbasis SSH. FTP polos sudah pantas ditinggalkan di masa lalu.

scp — si cepat “salin file ini ke sana”

scp itu singkatan dari secure copy. Inilah tool paling lugas di antara semuanya: bayangkan dia seperti perintah salin cp biasa, bedanya salah satu ujungnya ada di server jauh. Kalau kamu cuma perlu mendorong satu file atau satu folder ke server (atau menariknya balik), scp sering jadi yang paling cepat diketik.

Bentuk perintahnya selalu sumber dulu baru tujuan:

# Unggah satu file lokal KE server
scp report.pdf john@server.example.com:/home/john/

# Unduh satu file DARI server ke folder yang sedang kamu buka
scp john@server.example.com:/var/log/app.log .

# Salin satu folder utuh (arti -r adalah "recursive", yaitu ikut semua isinya)
scp -r ./website john@server.example.com:/var/www/

Perhatikan baik-baik tanda titik dua itu — di situlah seluruh kuncinya. Apa pun yang berbentuk user@host:/path berarti “bagian ini ada di mesin jauh.” Apa pun tanpa titik dua berarti path di mesin lokal-mu. Jadi scp sini.txt user@host:/sana/ terbaca hampir seperti kalimat: salin sini.txt dari sini, ke /sana/ di mesin host.

scp itu enak banget karena sederhana, dan untuk sekali-pakai “pokoknya pindahin file ini” memang susah dikalahkan. Kelemahannya muncul saat tugasnya berulang atau besar: dia menyalin segalanya setiap kali, tanpa ingat apa yang sudah dia kirim sebelumnya. Kalau kamu mengunggah ulang sebuah folder, dia mengirim ulang seluruhnya, bahkan bagian yang tidak berubah. Untuk itu, ada tool yang lebih pintar.

rsync — penyalin cerdas yang bisa lanjut untuk pekerjaan besar

rsync mengerjakan tugas dasar yang sama dengan scp — memindahkan file antar-mesin — tapi jauh lebih cerdik soal caranya. Jurus andalannya: dia hanya mentransfer perbedaannya. Pertama kali kamu menyinkronkan sebuah folder, dia menyalin semuanya. Kedua kali, dia melihat kedua sisi, mencari tahu apa yang sebenarnya berubah, lalu mengirim cuma bagian itu. Untuk website berisi ribuan file di mana kamu cuma mengubah tiga, ini menyulap unggahan yang tadinya bermenit-menit jadi cuma satu detik.

# Sinkronkan folder lokal ke atas, ke server (perhatikan garis miring di akhir — itu penting)
rsync -av ./website/ john@server.example.com:/var/www/website/

# Tarik folder turun dari server
rsync -av john@server.example.com:/var/www/website/ ./backup/

Flag yang bakal kamu pakai terus-menerus:

  • -a (“archive”) — menyalin folder secara rekursif sambil menjaga detail penting seperti izin berkas dan timestamp. Ini yang hampir selalu kamu mau.
  • -v (“verbose”) — mencetak tiap file saat dikirim, jadi kamu bisa lihat apa yang sedang terjadi.
  • -z — mengompres data selama transfer, yang bisa mempercepat di koneksi yang lambat.
  • --delete — membuat tujuan sama persis dengan sumber, dengan menghapus file di server yang sudah tidak ada lagi di lokal. Ampuh, tapi sedikit berbahaya — baca peringatan di bawah.

Garis miring di akhir dan --delete bisa menggigitmu

Dua detail rsync ini menyebabkan sebagian besar kecelakaannya. Pertama, garis miring di akhir path sumber berarti “salin isi folder ini,” sedangkan tanpa garis miring berarti “salin foldernya sendiri.” rsync ./site/ dest/ dan rsync ./site dest/ menaruh file di tempat yang berbeda. Kedua, --delete menghapus apa pun di tujuan yang tidak ada di sumber — jadi satu salah ketik di path sumber bisa menghapus file yang sebenarnya mau kamu pertahankan. Sebelum benar-benar menjalankan --delete, tambahkan --dry-run: dia menunjukkan persis apa yang akan terjadi tanpa menyentuh apa pun. Lihat hasilnya, baru hapus flag itu dan jalankan beneran.

Karena rsync bisa dilanjutkan dan hemat, dia jadi pilihan standar untuk men-deploy website, menyalin backup, dan tugas apa pun yang berjalan lebih dari sekali. Kalau kamu mendapati dirimu berulang kali memakai scp pada folder yang sama, itu pertanda buat beralih ke rsync.

sftp — sesi file yang interaktif

Kadang kamu belum tahu persis file mana yang kamu mau. Kamu ingin melihat-lihat dulu isi mesin yang jauh, tahu apa yang ada di sana, baru menarik satu-dua file. Nah, untuk itulah sftp ada. Meski namanya mirip FTP jadul, SFTP berjalan di atas SSH dan terenkripsi sepenuhnya — ini hal yang benar-benar berbeda dan aman.

Saat memulainya, kamu masuk ke sebuah prompt interaktif tempat kamu “berjalan” di filesystem jauh memakai perintah yang sudah akrab:

sftp john@server.example.com
sftp> ls                 # daftar file di SERVER
sftp> cd /var/log        # pindah direktori di SERVER
sftp> get app.log        # unduh satu file ke mesinmu
sftp> put backup.tar.gz  # unggah satu file ke server
sftp> lcd ~/Downloads    # pindah direktori di mesin LOKAL-mu
sftp> bye                # keluar

Triknya yang rapi ada di awalan l: cd dan ls bekerja pada server jauh, sedangkan lcd dan lls bekerja pada mesin lokal-mu. Jadi kamu bisa menyiapkan folder yang tepat di tiap sisi, lalu get dan put file di antara keduanya. Rasanya seperti menjelajahi dua komputer sekaligus — dan memang itulah yang kamu lakukan.

sftp bersinar saat kamu sedang menjelajah atau saat kamu baru sadar apa yang kamu butuhkan setelah melihat-lihat. Untuk transfer yang berskrip dan berulang, scp atau rsync biasanya lebih rapi karena cukup satu baris. Banyak aplikasi transfer file dengan tampilan grafis sebenarnya cuma jendela ramah yang membungkus SFTP, jadi kalau kamu pernah menyeret file ke server lewat sebuah aplikasi, sebetulnya kamu sudah memakainya tanpa sadar.

Mengunduh langsung ke server dengan wget dan curl

Tidak setiap file harus mampir ke laptopmu dulu. Sering kali file yang kamu mau sudah ada di internet — sebuah paket software, sebuah installer, sebuah dataset publik — dan jalur tercepat adalah membiarkan server mengambilnya langsung. Melewatkan unduhan besar lewat koneksi rumahmu cuma untuk diunggah lagi itu lambat dan sia-sia.

Dua tool universal menangani ini, dijalankan saat kamu sedang login di server:

# wget — dibuat khusus untuk mengunduh; menyimpan file dengan namanya sendiri
wget https://example.com/software.tar.gz

# curl — tool transfer serba bisa; -O mempertahankan nama file aslinya
curl -O https://example.com/software.tar.gz

Keduanya mengambil file lewat jaringan dan menjatuhkannya langsung ke disk server, tanpa menyentuh mesinmu. wget paling sederhana untuk unduhan biasa. curl bisa jauh lebih banyak (dia berbicara banyak protokol dan jadi andalan untuk menguji API), tapi untuk sekadar “unduh URL ini,” keduanya sama-sama oke. Pola ini ada di mana-mana dalam pekerjaan server — separuh dari tiap panduan setup pasti berupa variasi dari “unduh ini ke server, lalu jalankan.”

Selalu cek apa yang kamu unduh

Saat kamu menarik file langsung ke server, kamu biasanya ingin memastikan file itu sampai utuh dan memang yang kamu harapkan — apalagi untuk apa pun yang sebentar lagi mau kamu jalankan. Banyak halaman unduhan mencantumkan sebuah checksum (sidik jari pendek seperti hash SHA-256) di samping file-nya. Setelah mengunduh, kamu menghitung hash dari salinanmu lalu membandingkannya. Kalau cocok, file-nya lengkap dan tidak diutak-atik. Ini kebiasaan tiga puluh detik yang menangkap unduhan rusak, dan sesekali, sesuatu yang lebih buruk.

Sedikit catatan soal izin dan kepemilikan

Memindahkan file ke server baru separuh cerita. Begitu mendarat, Linux tetap peduli siapa pemiliknya dan siapa yang boleh membaca, menulis, atau menjalankannya. File yang kamu unggah sering mendarat dengan kepemilikan atas namamu, dan itu bisa jadi masalah kalau program yang membutuhkannya berjalan sebagai user lain. Inilah persis wilayah yang dibahas di izin berkas Linux dan user dan grup Linux — layak kamu tengok kalau ada file yang baru diunggah tapi anehnya “tidak bisa diakses” oleh aplikasimu.

Pola yang umum setelah mengunggah adalah membereskan kepemilikan dan izin sebentar:

# Jadikan user web server sebagai pemilik file situs yang diunggah
sudo chown -R www-data:www-data /var/www/website

# Beri pemilik hak baca/tulis, yang lain cukup baca
chmod -R 644 /var/www/website

Kamu tidak perlu menghafal ini sekarang. Cukup simpan idenya: transfer menaruh file di sana; izin yang menentukan apakah ada yang bisa memakainya. Banyak banget misteri “sudah keunggah tapi nggak jalan” yang ternyata cuma soal izin yang tidak cocok, bukan masalah transfernya.

Sebenarnya kamu harus pakai yang mana?

Dengan empat-an tool yang tugasnya tumpang tindih, ini versi singkat kapan memakai masing-masing:

┌─────────────┬──────────────────────────────────────────────┐
│ scp         │ Satu file/folder cepat, disalin sekarang juga │
│ rsync       │ Transfer berulang / besar; deploy; backup     │
│ sftp        │ Menjelajah server, ambil file sambil melihat  │
│ wget / curl │ Menarik file dari internet langsung ke        │
│             │ server, melewati laptopmu sepenuhnya          │
└─────────────┴──────────────────────────────────────────────┘

Kalau kamu cuma mau belajar dua, jadikan rsync dan wget. rsync menutupi hampir semua kebutuhan “pindahkan barangku antara mesinku dan server” dengan efisien, dan wget menutupi “ambil sesuatu dari web ke server.” Tambahkan scp untuk yang benar-benar sekali-pakai dan sftp untuk momen langka saat kamu mau colek-colek interaktif, dan kamu sudah siap menghadapi hampir apa saja.

Penutup

Ini gambaran utuhnya dalam satu tempat:

  • Server jauh tidak punya port USB dan layar yang bisa kamu raih, jadi file berpindah lewat jaringan — dan semua tool aman menumpang pada koneksi SSH yang sama dengan yang dipakai terminalmu.
  • scp itu “salin file ini ke sana” yang lugas. Sederhana dan bagus untuk sekali-pakai; dia mengirim ulang segalanya setiap kali.
  • rsync adalah penyalin cerdas yang bisa dilanjutkan dan hanya mentransfer yang berubah — standar untuk deploy, folder besar, dan apa pun yang kamu lakukan lebih dari sekali. Awasi garis miring di akhir dan --delete, dan pakai --dry-run dulu.
  • sftp memberimu sesi interaktif terenkripsi untuk menjelajahi server dan get/put file sambil jalan.
  • wget dan curl mengunduh file dari internet langsung ke server, melewati mesinmu sepenuhnya.
  • Setelah transfer, ingat bahwa izin dan kepemilikan yang menentukan apakah ada yang benar-benar bisa memakai file itu.

Begitu file bisa berpindah leluasa antara kamu dan server, langkah berikutnya yang alami adalah membuat mesin itu bekerja sesuai jadwalnya sendiri — menjalankan backup, pembersihan, dan laporan secara otomatis tanpa kamu mengetik perintah tiap kali. Di situlah tugas terjadwal masuk peran.

Tag:linuxserverscprsyncpemula
728 × 90Slot Iklan TersediaPasang iklan Anda di sini

Artikel Terkait

Lihat Semua Artikel

Artikel yang Mungkin Kamu Suka

SSL dan enkripsi at rest — data terlindungi saat berjalan dan saat tersimpan di disk
Server / Keamanan Server

SSL dan Enkripsi at Rest: Melindungi Data Saat Berjalan dan Saat Tersimpan

Enkripsi melindungi data di dua tempat: saat data lewat di jaringan (in transit) dan saat data nganggur di disk (at rest). Pahami bedanya, kenapa kamu butuh keduanya, bagaimana TLS, enkripsi disk, dan pengelolaan kunci sebenarnya saling melengkapi, plus kesalahan praktis yang sering bikin sia-sia.

9 Nov 202612 menit baca
Mengamankan port dan service — menutup pintu di server yang tidak kamu pakai
Server / Keamanan Server

Mengamankan Port dan Service: Menutup Pintu yang Tidak Kamu Pakai

Setiap port yang terbuka di server adalah satu pintu yang bisa dicoba orang lain. Pahami port dan service itu sebenarnya apa, kenapa service yang terekspos jadi risiko terbesarmu, dan kebiasaan sederhana menutup semua yang tidak kamu butuhkan — dijelaskan dari nol.

8 Nov 202610 menit baca
Prinsip least privilege — memberi hanya akses minimum yang dibutuhkan tiap user dan proses
Server / Keamanan Server

Prinsip Least Privilege: Beri Setiap Hal Hanya Akses yang Benar-Benar Dibutuhkan

Least privilege adalah aturan diam-diam di balik hampir semua setup keamanan yang solid: setiap user, proses, dan kunci hanya dapat akses minimum untuk menjalankan tugasnya, tidak lebih.

7 Nov 202612 menit baca
Fail2ban dan dasar intrusi — mengawasi log dan mem-banned otomatis pelaku yang menggedor berulang kali
Server / Keamanan Server

Fail2ban dan Dasar Intrusi: Mem-banned Otomatis Bot yang Terus Menggedor Server-mu

Penyerang tidak berhenti setelah sekali salah tebak — mereka terus menggedor, ribuan kali sehari. Pahami seperti apa sebenarnya percobaan intrusi, apa yang dikerjakan fail2ban, bagaimana ia mengawasi log dan mem-banned pelaku otomatis, dan cara menyetelnya dengan masuk akal tanpa mengunci dirimu.

6 Nov 202612 menit baca
Menjaga software tetap update — menutup lubang keamanan yang sudah diketahui sebelum penyerang memakainya
Server / Keamanan Server

Menjaga Software Tetap Update: Kebiasaan Membosankan yang Mencegah Sebagian Besar Pembobolan Server

Kebanyakan server tidak dibobol lewat serangan baru yang canggih — tapi lewat lubang lama yang sudah diketahui, yang sebenarnya cukup ditutup dengan update. Pelajari kenapa update itu penting, apa saja yang harus di-update, cara melakukannya dengan aman tanpa merusak apa pun, dan cara.

5 Nov 20269 menit baca
Konfigurasi firewall — aturan default-deny yang hanya membuka port yang kamu butuhkan
Server / Keamanan Server

Konfigurasi Firewall: Menyusun Aturan Default-Deny Tanpa Mengunci Diri Sendiri

Tahu apa itu firewall dan benar-benar mengonfigurasinya dengan rapi adalah dua keterampilan berbeda. Pelajari cara menyusun aturan default-deny, mengurutkan aturan dengan benar, membuka akses sendiri lebih dulu, menangani IPv6 dan security group cloud, lalu mengujinya sebelum dipakai — panduan.

4 Nov 202614 menit baca