Ubuntuで外付けHDDを接続するときの自動バックアップ

最近、バックアップのトピックに関する投稿が一般的になっています。 「多くのバックアップは良くて異なる」というモットーでバトンを続けます。

このアイデアを思いついた記事 1記事2

私自身は、それだけでなく、バ​​ックアップサーバーにrsnapshotを長い間使用しています。 それが何であるかを知らない人にとっては、rsyncベースのPerlベースのバックアップユーティリティです。 特異性は、ディスクスペースを節約するために、指定された時間間隔後にファイルシステムの完全なスナップショットを作成する方向です。最初のバックアップ以降に変更されていないファイルはハードリンクとしてリンクされます。

私はラップトップでUbuntu 11.10を使用しているため、この記事では、外部USB HDDでのこのラップトップのバックアップ方法について説明します。 接続時に、システムをバックアップするためのスクリプトが起動されます。

それでは始めましょう。 まず、外部ネジを用意して、その上にバックアップを作成します。 打ち上げ

$ sudo tail -f /var/log/syslog | grep "[sd"

そして、USB経由でネジを接続します。 私の場合、主なことは、どのデバイスがドライブに接続しているかを理解することです-sdb。 このネジで任意のLinuxファイルシステムを使用できます。 古い習慣としてext3を使用します。

$ sudo umount /dev/sdb1
$ sudo mkfs.ext3 /dev/sdb1
$ sudo lsusb -v


最後のコマンドの出力は非常に長くなりますが、次のようなものを見つける必要があります。

バス001デバイス004:ID 04fc:0c25 Sunplus Technology Co.、Ltd SATALink SPIF225A
デバイス記述子:
...
idVendor 0xYYYY Sunplus Technology Co.、Ltd
idProduct 0xXXXX SATALink SPIF225A
...


これらの「XXXX」と「YYYY」は書き留めるか、どこかに覚えておく必要があります。 これで、rsnapshot configの作業準備中にネジをオフにできます。 まず、インストールします:

$ sudo apt-get install rsnapshot

次に、構成を構成します。

$ sudo nano /etc/rsnapshot.conf

snapshot_root/ media / backupに変更し、毎日の行にバックアップの数を示します。 バックアップするものは、次の形式の行で示されます。

backup /home/user/Sync localhost/
backup /home/user/ localhost/
backup /home/user/_RAW localhost/
backup /home/user/ localhost/


リモートサーバーから同じネジにデータをバックアップする必要がある場合は、 Kolgerの 記事を読むことをお勧めします。 私はこれを必要とせず、自分でこれを設定しませんでした。

HDD接続時のrsnapshotの起動を自動化するために残ります。

次の内容を含むファイル/etc/udev/rules.d/94-usb-backup.rulesを作成します。

--/etc/udev/rules.d/94-usb-backup.rules--
SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", SYSFS{idProduct}=="XXXX", SYSFS{idVendor}=="YYYY", SYMLINK+="backup", RUN+="/usr/local/bin/usb-backup.sh"


ここでは、これらのデジタル文字「XXXX」および「YYYY」が必要です。 HDDに対応するものを入力し、udevを再起動します。

$ sudo service udev restart

udev構成の詳細については、このリンクを参照してください

スクリプト/user/local/bin/usb-backup.shを準備します:

 #!/bin/bash export XAUTHORITY=/home/user/.Xauthority export DISPLAY=:0.0 timeout=5000 notify-send -i /usr/share/pixmaps/usbhdd.png -t $timeout Backup "Found backup device" ###   mkdir /media/backup mount -t ext3 /dev/backup /media/backup chmod 777 /media/backup ###      DATE=`date +%Y-%m-%d` OLDDATE=`ls -l --time-style=+%Y-%m-%d /media/backup | grep daily.0 | awk '{print $6}'` if [[ "$DATE" == "$OLDDATE" ]]; then notify-send -t $timeout -i /usr/share/pixmaps/usbhdd.png Backup "Backup alredy exists. Exiting." ###     umount /media/backup rmdir /media/backup exit 1; fi ###   rsnapshot daily ### Unmounting device umount /media/backup rmdir /media/backup notify-send -i /usr/share/pixmaps/usbhdd.png -t $timeout Backup "Backup finished" exit 0 


「ユーザー」スクリプトの最初の行で、システムへのログインを修正します。 より美しいメッセージを表示するには、/ usr / share / pixmaps / usbhdd.pngの代わりにアイコンを配置することもできます。

デバイスを接続するとき、スクリプトは今日のバックアップをチェックし、バックアップがある場合は終了します。 そうでない場合、指定されたデータの新しいスナップショットが作成されます。

誰かがこれが役立つことを願っています。

Source: https://habr.com/ru/post/J136595/


All Articles