Zoeken op website

Rclone - Synchroniseer bestandenmappen van verschillende cloudopslag


Rclone is een opdrachtregelprogramma geschreven in de Go-taal, dat wordt gebruikt om bestanden en mappen van verschillende cloudopslagproviders te synchroniseren, zoals: Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Google Cloud Storage, Google Drive, enz.

Zoals u ziet ondersteunt het meerdere platforms, waardoor het een handig hulpmiddel is om uw gegevens tussen servers of naar een privéopslag te synchroniseren.

Rclone wordt geleverd met de volgende functies

  • MD5/SHA1-hashcontroles te allen tijde om de integriteit van de bestandsintegriteit te garanderen.
  • Tijdstempels worden bewaard in bestanden.
  • Gedeeltelijke synchronisaties worden ondersteund op basis van hele bestanden.
  • Kopieermodus voor nieuwe of gewijzigde bestanden.
  • Synchronisatie in één richting om een map identiek te maken.
  • Controlemodus – controle van hash-gelijkheid.
  • Kan synchroniseren van en naar het netwerk, bijvoorbeeld twee verschillende cloudaccounts.
  • (Encryptie) backend.
  • (Cache)backend.
  • (Union) backend.
  • Optionele FUSE-montage (rclone-montage).

Hoe rclone op Linux-systemen te installeren

De installatie van rclone kan op twee verschillende manieren worden voltooid. Hoe gemakkelijker iemand zijn installatiescript gebruikt, door de volgende opdracht te geven.

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

Wat dit script doet, is het type besturingssysteem controleren waarop het wordt uitgevoerd en het archief downloaden dat betrekking heeft op dat besturingssysteem. Vervolgens extraheert het het archief en kopieert rclone binair naar /usr/bin/rclone en geeft 755 machtigingen voor het bestand.

Uiteindelijk, wanneer de installatie is voltooid, zou u de volgende regel moeten zien:

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

De tweede manier om rclone te installeren is door de volgende opdrachten te geven.

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

Kopieer nu het binaire bestand en geef het uitvoerbare rechten.

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

Installeer de manpagina van rclone.

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

Hoe rclone in Linux-systemen te configureren

Vervolgens moet u de rclone config uitvoeren om uw configuratiebestand te maken. Het zal worden gebruikt voor authenticatie voor toekomstig gebruik van rclone. Voer de volgende opdracht uit om de configuratie-instellingen uit te voeren.

rclone config

U ziet de volgende prompt:

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>

De opties zijn als volgt:

  • n) – Maak een nieuwe externe verbinding
  • s) – stel wachtwoordbeveiliging in voor uw configuratie
  • q) – verlaat de configuratie

Laten we voor deze tutorial op "n" drukken en een nieuwe verbinding maken. U wordt gevraagd de nieuwe verbinding een naam te geven. Daarna wordt u gevraagd het type opslag te selecteren dat u wilt configureren:

Ik heb per verbinding “Google” genoemd en “Google Drive” geselecteerd, wat onder het nummer 12 staat. De rest van de vragen kunt u beantwoorden door simpelweg het standaardantwoord te verlaten, namelijk een lege “ ”.

Wanneer u hierom wordt gevraagd, kunt u “autoconfig” selecteren, waardoor alle vereiste informatie wordt gegenereerd om verbinding te maken met uw Google Drive en rclone-rechten te geven gebruik gegevens uit Google Drive.

Het proces ziet er ongeveer zo uit:

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

Hoe rclone te gebruiken in Linux-systemen

Rclone heeft een behoorlijk lange lijst met beschikbare opties en opdrachten waarmee u kunt gebruiken. We zullen proberen enkele van de belangrijkste te bespreken:

Lijst externe map

rclone lsd <remote-dir-name>:

Kopieer gegevens met rclone

rclone copy source:sourcepath dest:destpath

Houd er rekening mee dat als rclone duplicaten vindt, deze worden genegeerd:

Synchroniseer gegevens met rclone

Als u bepaalde gegevens tussen mappen wilt synchroniseren, moet u rclone gebruiken met de opdracht sync.

Het commando zou er als volgt uit moeten zien:

rclone sync source:path dest:path [flags]

In dit geval wordt de bron gesynchroniseerd met de bestemming, waarbij alleen de bestemming wordt gewijzigd! Deze methode slaat ongewijzigde bestanden over. Omdat het commando gegevensverlies kan veroorzaken, kunt u het gebruiken met “–dry-run ” om te zien wat er precies wordt gekopieerd en verwijderd.

Verplaats gegevens met rclone

Om gegevens te verplaatsen, kunt u rclone gebruiken met de opdracht move. Het commando zou er als volgt uit moeten zien:

rclone move source:path dest:path [flags]

De inhoud van de bron wordt verplaatst (verwijderd) en op de geselecteerde bestemming geplaatst.

Andere nuttige rclone-opdrachten

Om een directory op de bestemming aan te maken.

rclone mkdir remote:path

Om een map te verwijderen.

rclone rmdir remote:path

Controleer of bestanden op bron en bestemming overeenkomen:

rclone check source:path dest:path

Verwijder bestanden:

rclone delete remote:path

Elk van de rclone-opdrachten kan met verschillende vlaggen worden gebruikt en heeft een eigen helpmenu. U kunt bijvoorbeeld een selectieve verwijdering uitvoeren met behulp van de verwijderoptie. Stel dat u bestanden wilt verwijderen die groter zijn dan 100 miljoen, dan ziet de opdracht er als volgt uit.

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

Het wordt ten zeerste aanbevolen om de handleiding en hulp voor elke opdracht door te nemen om het meeste uit rclone te halen. De volledige documentatie van rclone is beschikbaar op: https://rclone.org/

Conclusie

rclone is een krachtig opdrachtregelhulpprogramma waarmee u gegevens tussen verschillende cloudopslagproviders kunt beheren. Hoewel we in dit artikel slechts het oppervlak van de rclone-mogelijkheden hebben betreden, valt er veel meer mee te bereiken, vooral als het wordt gebruikt in combinatie met cron-service (bijvoorbeeld).