それでは始めましょう:
- 私はルートになります
su
- ローカルYandex.Diskディレクトリを作成します
mkdir /mnt/yandex-disk
- パッケージをダウンロードするためにディレクトリを変更します
cd /usr/src
- 64ビットrpmパッケージをダウンロードする
wget http://repo.yandex.ru/yandex-disk/yandex-disk-latest.x86_64.rpm
- パッケージをインストールします
rpm -ivh yandex-disk-latest.x86_64.rpm
- Yandex.Diskの初期セットアップを開始します
yandex-disk setup
- Yandex.Diskの質問に答えます
-? [y/N]: N , https://passport.yandex.ru/passport?mode=register : username : ******* /root/.config/yandex-disk/passwd . . ( '/root/Yandex.Disk'): /mnt/yandex-disk . ? [Y/n]: n
- 構成フォルダーを/などにコピーします(すべてのファイルは標準の場所にあるべきだと思います)
cp -r /root/.config/yandex-disk /etc
- ファイル/etc/yandex-disk/config.cfgの正しいパス
nano /etc/yandex-disk/config.cfg
- そして、ファイル/etc/yandex-disk/config.cfgを次の形式にします
auth="/etc/yandex-disk/passwd" dir="/mnt/yandex-disk"
- ファイル/usr/lib/systemd/system/yandex-disk.serviceを作成します
nano /usr/lib/systemd/system/yandex-disk.service
- 次の内容で
[Unit] Description=Yandex Disk console client Requires=network.target [Service] Type=forking User=root Group=root ExecStart=/usr/bin/yandex-disk start -c /etc/yandex-disk/config.cfg # , .. , : ": ". # - "Requires=", - , # RestartSec=60 Restart=always [Install] WantedBy=multi-user.target
- systemdを再起動します
systemctl --system daemon-reload
- yandex-disk.serviceサービスを開始します
systemctl start yandex-disk.service
- サービス開始コマンドを確認してください
systemctl status yandex-disk.service
- そして、私たちはこのようなものを手に入れます
[root@localhost .config]# systemctl status yandex-disk.service yandex-disk.service - Yandex Disk console client Loaded: loaded (/usr/lib/systemd/system/yandex-disk.service; disabled) Active: active (running) since 2013-11-08 23:11:15 MSK; 1s ago Process: 31601 ExecStart=/usr/bin/yandex-disk start -c /etc/yandex-disk/config.cfg (code=exited, status=0/SUCCESS) Main PID: 31638 (yandex-disk) CGroup: name=systemd:/system/yandex-disk.service └─31638 /usr/bin/yandex-disk --tag="1 7 8 9 15 16" --no-daemon="true" --dir="/mnt/yandex-disk" --config="/etc/yandex-disk/config.cfg" --... 08 23:11:15 localhost.localdomain systemd[1]: Started Yandex Disk console client.
- または、サービス開始コマンドを確認します
yandex-disk status -c /etc/yandex-disk/config.cfg
- そして、私たちはこの答えを得る
[root@localhost ~]# yandex-disk status -c /etc/yandex-disk/config.cfg : 47.1 KB/ 3.3 GB (0 %) : .: '/mnt/yandex-disk' : : 5.2 GB : 4.8 GB : 10 GB : 1.9 GB : : 'TEST/testfile.txt'
- yandex-disk.serviceサービスを自動ロードに追加します
systemctl enable yandex-disk.service
すべてが再起動後に機能します。
crobtabのコマンドを使用して、バックアップのローカルコピーをYandex.Diskのローカルコピーと同期します
/usr/bin/rsync -rc --delete /mnt/500gb/backups/ /mnt/yandex-disk/backups/
また、Yandex.Diskの複数のコピーを異なるアカウントで実行できることも発見しました。 たとえば、次のように:
/usr/bin/yandex-disk start -c /etc/yandex-disk1/config.cfg /usr/bin/yandex-disk start -c /etc/yandex-disk2/config.cfg /usr/bin/yandex-disk start -c /etc/yandex-disk3/config.cfg
デバッグ中に問題が発生しました:起動時にサービスが開始されませんでした。 エラーが発生しました:「エラー:フォルダーへのパスが別のユーザーによって使用されています。」 しかし、その後、systemctl start yandex-disk.serviceはエラーなしで手動で開始されました。
RestartSec = 60およびRestart = alwaysの松葉杖によって決定されました。 しかし、これは完全に正しいとは限りません。なぜなら、 このサービスは2回開始されます-ログの一部が示すように:
tail -1000 /var/log/messages | grep 'yandex' Nov 8 19:34:19 sharov yandex-disk[514]: : : /mnt/yandex-disk Nov 8 19:34:48 sharov systemd[1]: yandex-disk.service holdoff time over, scheduling restart. Nov 8 19:34:49 sharov yandex-disk[1816]: ...
PS:私の決定は絶対に正しいふりをしません。 しかし、それは機能します。
PPS:Yandex.Diskのバスケットでは、バックアップに通常使用することはできません。 Yandex.Diskのローカルコピーからファイルを削除すると、ファイルはごみ箱に移動されますが、Webインターフェースからのみ、ごみ箱をコンソールクライアントから空にすることはできません。 これにより、ごみ箱内のファイルのサイズだけディスクサイズが小さくなります。 そして、それがいっぱいになると、バックアップはそこにコピーされなくなります。 または、手動でボタンをクリックして、Webインターフェースからバスケットを空にします。これは松葉杖です。 Yandex.Diskがいっぱいになるまで待ち、何が起こるかを確認します。