Łączenie pamięci masowej Yandex.Disk, Google Drive i OneDrive w systemie Linux CentOS

W tym artykule przyjrzymy się, jak podłączyć darmową pamięć masową Yandex.Disk, Dysk Google i OneDrive do Linux CentOS, aby użyć ich do tworzenia kopii zapasowych lub po prostu wymienić plik między różnymi systemami operacyjnymi. Na przykład możesz zainstalować klienta pamięci masowej w chmurze w systemie Windows, przesłać do niego pliki i automatycznie uzyskać do nich dostęp z systemu Linux (lub odwrotnie).

Często właściciele lub twórcy stron internetowych zasobu nie sądzą, że gdy na maszynie wirtualnej lub kontenerze nie ma wystarczającej ilości miejsca, można użyć magazynu w chmurze. W mojej pracy często zalecam użytkownikom podłączenie tego samego Yandex.Disk do siebie na VDS w celu przechowywania niektórych rzadko używanych materiałów lub wykonania kopii zapasowej strony MySQL / MariaDB i tamtejszych baz danych.

W tym artykule rozważymy podłączenie najpopularniejszych bezpłatnych usług pamięci masowej Yandex.Disk, OneDrive i Google Drive do maszyny wirtualnej z preinstalowanym CentOS 7.

Treść

  • Połącz Yandex.Disk z Linux CentOS za pośrednictwem WebDAV
  • Podłączanie Dysku Google jako pamięci w systemie Linux
  • Podłączanie usługi OneDrive Cloud Storage w systemie Linux

Połącz Yandex.Disk z Linux CentOS za pośrednictwem WebDAV

Zobaczmy, jak połączyć pamięć masową w chmurze Yandex.Disk w systemie Linux za pomocą protokołu WebDAV.

WebDAV - zestaw rozszerzeń i dodatków do protokołu HTTP, które wspierają współpracę w zakresie edycji plików i zarządzania plikami na zdalnych serwerach.

W tym podręczniku połączymy Yandex.Disk jako system plików z wirtualnym serwerem Linux CentOS za pomocą klienta davfs2. Pokażmy, jak skonfigurować automatyczne montowanie magazynu w chmurze Yandex poprzez autoload.

Zazwyczaj pakiet davfs2 powinien być już zainstalowany w systemie, ale może być tak, że nie został zainstalowany, więc wykonujemy instalację. Musisz połączyć repozytorium Epel i zainstalować sam pakiet przez yum:

mniam zainstalować epel-release -y
yum zainstaluj davfs2 -y

Sprawdź, czy moduł bezpieczników w urządzeniu jest obecny:

ls -l / dev / fuse

Wynik powinien być mniej więcej taki:

[root @ master ~] # ls -l / dev / fuse

crw-rw-rw- 1 root root 10, 229 września 2 09:54 / dev / fuse

Utwórz osobny katalog dla naszego magazynu w chmurze:

mkdir / mnt / yad /

Po zakończeniu wszystkich prac przygotowawczych możemy zacząć łączyć Yandex.Disk z serwerem.

Podłącz Yandex.Disk do wcześniej utworzonego katalogu:

mount -t davfs https://webdav.yandex.ru / mnt / yad /

Po wprowadzeniu polecenia konsola wyświetli pola, w których będziesz musiał podać swoją skrzynkę Yandex i hasło

Nazwa użytkownika: Hasło: 

Mój dysk podłączony bez problemów:

[root @ master ~] # df -h

Używany system plików Dostępny Wykorzystanie% Zamontowany na / dev / vda2 80G 1.2G 79G 2% / devtmpfs 1.9G 0 1.9G 0% / dev tmpfs 1.9G 0 1.9G 0% / dev / shm tmpfs 1.9G 8.5M 1.9G 1% / run tmpfs 1.9G 0 1.9G 0% / sys / fs / cgroup / dev / vda1 240M 109M 115M 49% / boot tmpfs 379M 0 379M 0% / run / user / 0 https://webdav.yandex.ru 10G 39M 10G 1% / mnt / yad
Domyślnie Yandex oferuje wszystkim użytkownikom za darmo 10 GB na chmurze Yandex.Disk.

I możesz natychmiast upewnić się, że zawartość Yandex.Disk jest teraz dostępna w systemie Linux:

[root @ master yad] # ls -la / mnt / yad /

łącznie 39867 drwxr-xr-x 3 root root 392 5 kwietnia 2012. drwx ------ 2 root root 0 września 2 11:56 utracony + znaleziony -rw-r - r-- 1 root root 1762478 2 września 11:54 Mountains.jpg -rw-r - r-- 1 root root 1394575 2 września 11:54 Winter.jpg -rw-r - r-- 1 root root 1555830 2 września 11:54 Bears.jpg -rw-r - r-- 1 root root 1080301 2 września 11:54 Sea.jpg -rw-r - r-- 1 root root 1454228 Sep 2 11:54 Moscow.jpg -rw-r - r-- 1 root root 2573704 2 września 11:54 Saint Petersburg.jpg -rw- r - r-- 1 root root 31000079 2 września 11:54 Breadcrumbs.mp4 

Utwórz plik w podłączonym katalogu plików WebDav i sprawdź, czy pojawił się w internetowej wersji Yandex.Disk:

[root @ master yad] # touch /mnt/yad/test.txt
[root @ master yad] # ls -la / mnt / yad /

łącznie 39867 drwxr-xr-x 3 root root 424 5 kwietnia 2012. drwx ------ 2 root root 0 września 2 11:56 utracony + znaleziony -rw-r - r-- 1 root root 0 września 2 12:08 test.txt


Plik się pojawił, nasze połączenie z pamięcią w chmurze Yandex.Disk działa poprawnie, plik lokalny jest automatycznie synchronizowany z chmurą.

Aby uprościć montaż, dodaj go do rc.local, dzięki czemu po ponownym uruchomieniu serwera pamięć Yandex.Disk jest montowana automatycznie.

Aby to zrobić, utwórz plik / etc / davfs2 / secrets:

dotknij / etc / davfs2 / secrets

i dodaj ścieżkę do katalogu, w którym montujemy Yandex.Disk oraz nazwę użytkownika / hasło użytkownika Yandex:

/ mnt / yad hasło użytkownika

W pliku rc.local dodaj następujący wiersz:

mount -t davfs https://webdav.yandex.ru / mnt / yad /

Ponownie uruchamiamy system Linux i sprawdzamy dostępność dysku w chmurze:

Po ponownym uruchomieniu serwera automatycznie zamontowałem pamięć. Ale czasami plik rc.local nie jest odczytywany podczas uruchamiania serwera, w tym przypadku w celu automatycznego uruchomienia usługi rc-local uruchom następujące polecenia:

chmod + x /etc/rc.d/rc.local
systemctl włącz rc-local

To kończy konfigurację i połączenie Yandex.Disk w Linux CentOS..

P.S. Na koniec chciałbym dodać, że jeśli używasz kontenera OpenVZ, moduł bezpieczników jest domyślnie wyłączony, po stronie węzła musisz podłączyć moduł do kontenera w następujący sposób:

bezpiecznik modprobe - dodawanie modułu do węzła

vzctl set 101 --save --devnodes "fuse: rw" (gdzie 101 to identyfikator żądanego kontenera) - dodaj moduł do żądanego kontenera

Po tych manipulacjach ponownie uruchamiamy pojemnik.

Podłączanie Dysku Google jako pamięci w systemie Linux

Zobaczmy, jak podłączyć pamięć masową Dysku Google na Linux CentOS 7. Instalacja jest bardzo prosta i szybka..

Pobierz klienta Dysku Google, aby połączyć się za pomocą polecenia:

wget -O dysk https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg

Przenieś plik do katalogu / usr / sbin za pomocą polecenia:

dysk mv / usr / sbin / drive

Udziel uprawnień do plików:

chmod + x / usr / sbin / drive

To kończy instalację klienta Dysku Google, wystarczy go uruchomić i przejść autoryzację:

prowadzić

[root @ master ~] # mv drive / usr / sbin / drive
[root @ master ~] # chmod + x / usr / sbin / drive
[root @ master ~] # dysk

Przejdź do następującego linku w przeglądarce: https://accounts.google.com/o/oauth2/auth?client_id=367116221053-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aasese = kod i zakres = https% 3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fdrive & state = state Wprowadź kod weryfikacyjny:

Musisz skopiować link i otworzyć go w przeglądarce na komputerze, a następnie zezwolić na dostęp do konta.

Następnie otrzymasz link, który musisz wprowadzić w konsoli Linux:


Dysk Google jest podłączony, ale nie jest podłączony przez WebDav (nieobsługiwany) i nie widzisz go jako osobnego systemu plików i katalogu lokalnego. Cały dostęp do przestrzeni dyskowej Google odbywa się za pośrednictwem klienta napędu

Możesz sprawdzić, które pliki znajdują się w pamięci Dysku Google za pomocą polecenia listy dysków:

[root @ master ~] # lista dysków

Id Tytuł Rozmiar Utworzono 1hG1VSNM67IOXlYCVQp9YqhJlFYU2g1qw TEST.TXT 5.0 b 2019-09-02 17:01:13 1ih29E4B4piOho3oupLu2YXWfHZtIA330 DE30EF56-523D-4F90- ... EE62DD392E89-1.mov 351,0 MB 22.08.2019 10:41:56 15qbRDBAZztBkN2rWCBhnYidMArTbaqW3 CALLU_8-7- 2019_15-35-28_Private.mp3 83,2 KB 2019-07-08 15:35:40 1A4BUo_PTVH460SAAkbJKmgDlY1567Hno CALLU_8-7-2019_15-31-7_Private.mp3 1.3 MB 2019-07-08 15:34:10 

Pliki są wyświetlane w tabeli z czterema kolumnami:

  • Id - unikalny kod pliku
  • Tytuł - nazwa pliku
  • Rozmiar - rozmiar
  • Utworzono - data utworzenia

Do testu możemy utworzyć plik i przenieść go na g.drive:

dotknij drive.txt && drive upload - file drive.txt

Plik został utworzony i jest widoczny w konsoli:

1KbdgtW3jJz46_zZ0Wv-ceBcUSSvEp5n- drive.txt 0,0 B 2019-09-02 17:49:30

Sprawdź także, czy plik pojawił się w interfejsie internetowym Dysku Google:

Jak widać plik jest na swoim miejscu.

Domyślnie Google oferuje za darmo 15 GB na Twoim Dysku Google.

To kończy połączenie Dysku Google z naszym serwerem Linux. W Dysku Google podoba mi się to, że nie trzeba wykonywać żadnych dodatkowych operacji na serwerze, aby pamięć w chmurze została zamontowana po ponownym uruchomieniu serwera. Możesz ponownie uruchomić serwer tyle razy, ile chcesz, Dysk Google połączy się automatycznie. Ale są też wady, na przykład na serwerze nie widzimy repozytorium jako osobnego katalogu i nie możemy zarządzać plikami na poziomie systemu plików lub za pomocą zwykłych poleceń bash.

Podłączanie usługi OneDrive Cloud Storage w systemie Linux

OneDrive to pamięć masowa firmy Microsoft w chmurze. Domyślnie jest on dostępny dla wszystkich użytkowników systemu Windows 10 z połączonym kontem (w usłudze OneDrive pamięć jest udostępniana bezpłatnie 5 GB miejsca). Naszym zadaniem jest połączenie magazynu w chmurze OneDrive z CentOS 7. Podczas procesu instalacji napotkałem wiele problemów, które udało mi się rozwiązać za pomocą eksperymentów naukowych. Musisz tylko przeczytać instrukcje i odtworzyć wszystkie działania na swoim serwerze.

Najpierw musimy się zarejestrować na stronie _https: //onedrive.live.com

Pominę procedurę rejestracji, ponieważ nie różni się ona od rejestracji w żadnym innym zasobie.

Teraz zainstaluj niezbędne pakiety w Linux CentOS:

yum groupinstall „Narzędzia programistyczne” -y
yum zainstaluj libcurl-devel -y
mniam zainstaluj sqlite-devel -y

Następnie zainstaluj język programowania D (dlang), konieczne będzie zainstalowanie klienta OneDrive:

curl -fsS https://dlang.org/install.sh | bash -s dmd

Aby uruchomić środowisko D (dlang), wprowadź polecenie:

source ~ / dlang / dmd-2.088.0 / enable - w twoim przypadku wersja dmd może się różnić, podaj swoją.

Począwszy od dlang, zainstalujemy samego klienta OneDrive:

cd / opt
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./ configure
oczyścić; zrobić;
sudo make install

Instalacja jest zakończona, teraz musisz przejść przez aktywację w internetowej wersji OneDrive.

Uruchom polecenie:

Onedrive

System poda Ci link, który musisz wprowadzić w przeglądarce. W formularzu internetowym z prośbą o dostęp kliknij przycisk Zezwól. Następnie link zmieni się unikatowo z kodem, który trzeba wprowadzić w konsoli Linux. Mam następujący link https://login.microsoftonline.com/common/oauth2/nativeclient?code=M74bb67a8-f9a6-1a26-e345-c45a3324de49:

(dmd-2.088.0) [root @ master onedrive] # onedrive

Autoryzuj tę aplikację, odwiedzając: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=22c49a0d-d21c-4792-aed1-8f1623982546&scope=Files.ReadWrite%20Files.ReadWrite.all%20Sites. .All% 20offline_access & response_type = code & redirect_uri = https: //login.microsoftonline.com/common/oauth2/nativeclient Wpisz adres uri https://login.microsoftonline.com/common/oauth2/nativeclient?code=M74bb67a8-f9a e345-c45a3104de49 

Po potwierdzeniu łącza mogę zsynchronizować się z przechowywaniem w chmurze OneDrive:

(dmd-2.088.0) [root @ master onedrive] # onedrive --synchronize

Inicjowanie silnika synchronizacji ... Synchronizowanie zmian z OneDrive ... Przetwarzanie 6 zmian Tworzenie katalogu: Zdjęcia Tworzenie katalogu: Dokumenty Pobieranie pliku Rozpoczęcie pracy z OneDrive.pdf ... gotowe. Tworzenie katalogu: kopia zapasowa Pobieranie pliku backup / test.txt ... gotowe. 

Domyślnie utworzyłem katalog / root / OneDrive, w którym pojawiły się wszystkie katalogi mojego magazynu w chmurze.

(dmd-2.088.0) [root @ master OneDrive] # ls -la / root / OneDrive /

razem 392 drwxr-xr-x 5 root root 94 września 3 11:15. dr-xr-x --- 10 root root 267 września 3 11:15 ... drwxr-xr-x 2 root root 22 września 3 11:15 backup drwxr-xr-x 2 root root 6 września 3 11:15 Dokumenty -rw -r - r-- 1 root root 398083 3 września 09:38 Rozpoczęcie pracy z OneDrive.pdf drwxr-xr-x 2 root 6 września 3 11:15 Zdjęcia 

Do testu utworzyłem plik test2.txt i zsynchronizowałem:

[root @ master backup] # onedrive --synchronize

Inicjowanie silnika synchronizacji ... Synchronizowanie zmian z OneDrive ... Przesyłanie nowego pliku ./backup/test2.txt .. gotowe. 

Plik został przesłany do chmury Microsoft:

Aby zmienić domyślny katalog, musisz zmienić parametr sync_dir w pliku konfiguracyjnym, a następnie uruchomić polecenie:

onedrive --synchronize --resync

Inicjowanie silnika synchronizacji ... Synchronizowanie zmian z OneDrive ... Przetwarzanie 7 zmian 

Po ponownym uruchomieniu serwera klient OneDrive uruchamia się automatycznie i nie ma potrzeby ponownej autoryzacji.

To kończy konfigurację OneDrive na serwerze z CentOS 7, mam nadzieję, że informacje te będą przydatne dla wielu. W następnym artykule przyjrzymy się, jak używać magazynu w chmurze do tworzenia kopii zapasowych danych z serwera Linux..