Rclone - Farklı Bulut Depolama Alanındaki Dosya Dizinlerini Eşitle


Rclone, Go dilinde yazılmış, Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox gibi farklı bulut depolama sağlayıcılarındaki dosyaları ve dizinleri senkronize etmek için kullanılan bir komut satırı programıdır. FTP, Google Bulut Depolama, Google Drive vb.

Gördüğünüz gibi birden fazla platformu destekliyor, bu da onu verilerinizi sunucular arasında veya özel bir depolama alanıyla senkronize etmek için kullanışlı bir araç haline getiriyor.

Rclone aşağıdaki özelliklerle birlikte gelir

  • Dosya bütünlüğünün bütünlüğünü sağlamak için MD5/SHA1 karma kontrolleri her zaman yapılır.
  • Zaman damgaları dosyalarda korunur.
  • Kısmi senkronizasyonlar tüm dosya bazında desteklenir.
  • Yeni veya değiştirilmiş dosyalar için kopyalama modu.
  • Bir dizini aynı hale getirmek için tek yönlü senkronizasyon.
  • Kontrol modu – karma eşitlik kontrolü.
  • Ağa ve ağdan senkronizasyon yapılabilir (örneğin iki farklı bulut hesabı).
  • (Şifreleme) arka uç.
  • (Önbellek) arka uç.
  • (Birlik) arka uç.
  • İsteğe bağlı FUSE montajı (rclone montajı).

Linux Sistemlerinde rclone Nasıl Kurulur

rclone kurulumu iki farklı şekilde tamamlanabilir. Daha kolay olanı, aşağıdaki komutu vererek kurulum komut dosyalarını kullanmaktır.

curl https://rclone.org/install.sh | sudo bash

Bu betiğin yaptığı şey, çalıştırıldığı işletim sistemi türünü kontrol etmek ve o işletim sistemiyle ilgili arşivi indirmektir. Daha sonra arşivi çıkarır ve rclone ikili dosyasını /usr/bin/rclone dizinine kopyalar ve dosya üzerinde 755 izinlerini verir.

Sonunda kurulum tamamlandığında aşağıdaki satırı görmelisiniz:

Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for  more details.

rclone'u kurmanın ikinci yolu aşağıdaki komutları vermektir.

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Şimdi ikili dosyayı kopyalayın ve çalıştırılabilir izinleri verin.

cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone

rclone kılavuz sayfasını yükleyin.

mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb 

Linux Sistemlerinde rclone Nasıl Yapılandırılır

Daha sonra yapmanız gereken şey, yapılandırma dosyanızı oluşturmak için rclone config'i çalıştırmak olacaktır. rclone'un gelecekte kullanımında kimlik doğrulama için kullanılacaktır. Yapılandırma kurulumunu çalıştırmak için aşağıdaki komutu çalıştırın.

rclone config

Aşağıdaki istemi göreceksiniz:

2018/11/13 11:39:58 NOTICE: Config file “/home/user/.config/rclone/rclone.conf” not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Seçenekler aşağıdaki gibidir:

  • n) – Yeni uzak bağlantı oluştur
  • s) – yapılandırmanız için şifre koruması ayarlayın
  • q) – yapılandırmadan çıkar

Bu eğitimin amacı doğrultusunda "n" tuşuna basıp yeni bağlantı oluşturalım. Yeni bağlantıya bir ad vermeniz istenecektir. Bundan sonra yapılandırılacak depolama türünü seçmeniz istenecektir:

Bağlantıya göre “Google ” adını verdim ve 12 sayısının altındaki “Google Drive”'ı seçtim. Geri kalan soruları boş bir " " olan varsayılan yanıtı bırakarak yanıtlayabilirsiniz.

İstendiğinde, Google Drive'ınıza bağlanmak için gerekli tüm bilgileri oluşturacak ve rclone izinlerini verecek olan “autoconfig”'i seçebilirsiniz. Google Drive'daki verileri kullanın.

Süreç şuna benzer:

Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> 
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id = 
client_secret = 
scope = drive
root_folder_id = 
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Linux Sistemlerinde rclone Nasıl Kullanılır

Rclone, kullanılabilecek oldukça uzun bir seçenek ve komut listesine sahiptir. Daha önemli olanlardan bazılarını ele almaya çalışacağız:

Uzak Dizini Listele

rclone lsd <remote-dir-name>:

Verileri rclone ile kopyalayın

rclone copy source:sourcepath dest:destpath

rclone yinelenen kopyalar bulursa bunların göz ardı edileceğini unutmayın:

Verileri rclone ile senkronize edin

Bazı verileri dizinler arasında senkronize etmek istiyorsanız rclone'u sync komutuyla birlikte kullanmalısınız.

Komut şu şekilde görünmelidir:

rclone sync source:path dest:path [flags]

Bu durumda kaynak hedefle senkronize edilir, yalnızca hedef değiştirilir! Bu yöntem değiştirilmemiş dosyaları atlar. Komut veri kaybına neden olabileceğinden, tam olarak neyin kopyalanıp silineceğini görmek için onu “–dry-run ” ile kullanabilirsiniz.

Verileri rclone ile taşıma

Verileri taşımak için rclone'u move komutuyla birlikte kullanabilirsiniz. Komut şu şekilde görünmelidir:

rclone move source:path dest:path [flags]

Kaynaktaki içerik taşınacak (silinecek) ve seçilen hedefe yerleştirilecek.

Diğer faydalı rclone Komutları

Hedefte bir dizin oluşturmak için.

rclone mkdir remote:path

Bir dizini kaldırmak için.

rclone rmdir remote:path

Kaynak ve hedefteki dosyaların eşleşip eşleşmediğini kontrol edin:

rclone check source:path dest:path

Dosyaları sil:

rclone delete remote:path

Rclone komutlarının her biri farklı bayraklarla kullanılabilir ve kendi yardım menüsünü içerir. Örneğin silme seçeneğini kullanarak seçmeli silme işlemi yapabilirsiniz. Diyelim ki 100M'den büyük dosyaları silmek istiyorsunuz, komut şu şekilde görünecektir.

rclone --min-size 100M delete remote:path

rclone'dan en iyi şekilde yararlanmak için her komutun kılavuzunu ve yardımını incelemeniz önemle tavsiye edilir. Rclone'un tam belgelerine şu adresten ulaşılabilir: https://rclone.org/

Çözüm

rclone, farklı Bulut depolama sağlayıcıları arasındaki verileri yönetmenize yardımcı olan güçlü bir komut satırı yardımcı programıdır. Bu makalede rclone yeteneklerinin sadece yüzeyini çizmiş olsak da, özellikle cron hizmetiyle (örneğin) birlikte kullanıldığında elde edilecek çok daha fazlası vardır.