0

ファイルをUSBドライブにコピーしてから自動的に挿入する方法を探しています。する必要がある:

  • 新しい USB が挿入されたことを検出する
  • マウント ポイント (デフォルトでは /media/something) を検出します - 私のシステムは USB ドライブを自動的にマウントします。
  • その上にファイルをコピーします。

Linux bashでこれを行う必要があります。udev、mount、udevinfoなどの便利なコマンドをすでに検索しましたが、必要なものを取得するためにそれらを使用する(組み合わせる)方法が本当にわかりません。

助言がありますか?

4

2 に答える 2

1

私自身はudevルールを書いたことがありませんが、このUbuntuフォーラムスレッドの「etola」からの回答は、ユースケースを正確に説明しています(デバイスが表示されたときにスクリプトを実行します)。ただし、プラグインする各デバイスに敏感であるため、複数のエントリが必要になる場合があります。

udev ルールの記述に関するマニュアルもあります。

于 2010-11-18T23:36:04.393 に答える
0

私はそれを理解しました、それは機能的ですが、私が修正していない唯一のものは次のとおりです。

  1. USB デバイスは、2 つのマウント ポイントを介してアクセスできます。
  2. デバイスを手動でアンマウントする必要があります
  3. usbがマウントされている/devを見つける方法が見つからなかったので、定数です。

良い点は、USB にファイルをコピーする必要がないことです。差し込むだけで、ファイルが自動的に USB にコピーされます。これが他の誰かを助けるか、改善できることを願っています。(以下の説明はスペイン語で申し訳ありません...)

  1. Cree una regla de udev llamada 81-audo-copy.rules con el siguiente codigo:

KERNEL=="sdb2", RUN+="/home/adario/paraCopiar/autocopiar"

Lo que hace es que cuando se inserta la memoria usb ejecuta el script de la ubicacion (el código 81 es importante, ya quedependiendo de lo que pongamos se ejecuta antes o despues de las demas reglas, o no se ejecuta. El resto del nombre puede ser lo que querramos)。

  1. aca el contenido de "autocopiar", el archivo debe ser ejecutable

sudo マウント /dev/sdb2 /mnt/acopiar -t vfat -o umask=000 cp -v /home/adario/paraCopiar/loqueQuieroCopiar.zip /mnt/acopiar

Lo que hace es asignar otro punto de montaje al usb que ya se ha montado, esto para que sepamos el nombre de la ubicación.

  1. 最後に、パラ ケ エル スクリプトはありません pida contraseña cada vez que se ejecute, agregamos al archivo sudoers

nombreUsuario ALL=(ALL) NOPASSWD: ALL

于 2010-11-20T10:19:43.963 に答える