web-dev-qa-db-ja.com

リムーバブルデバイスに自動コピーする方法

HDDにバックアップが必要なデータがあります。 folder aのすべてだとしましょう。 USBスティックにはfolder aのコピーがあり、スティックがマウントされるたびに自動的に更新されます。これをどのように自動的に行うことができますか?

4
iam4k33m

ドライブが挿入されたときのudevルールを作成し、バックアップルーチン(デバイス上のrsyncまたは他の手順)を実行します。

これはあなたが始めるための粗雑な例です。

バックアップスクリプトを呼び出すルール(/etc/udev/rules.d/10-local.rules):

ACTION=="add", RUN+="/bin/sh -c 'exec /home/userid/backupscript.sh & > /home/userid/Desktop/test.out'"

上記のuseridをユーザーIDに置き換えるか、スクリプトを別のパスに配置します。

バックアップスクリプト:

#!/bin/bash                                                                                       

templine=/tmp/line.$$

backuproutine () {
    # backup rountine goes here                                                                   
    timestamp=$(date)
    message="This is the Backup noice."
    device=$(mount | egrep "sd.1")
    echo -e "$timestamp:$message\n$device" > $templine
    cat $templine >> /home/userid/Desktop/backupnotice.txt
}

backuproutine
rm $templine

これは粗雑なスクリプトですが、開始するための何かです。

このコマンドは、devルールの使用方法の詳細を提供します。

man udev
1
L. D. James