在Linux bash上自动将文件复制到usb

时间:2010-11-18 22:49:33

标签: linux bash usb mount

我正在寻找一种方法将文件复制到USB驱动器然后自动插入。我需要:

  • 检测插入新USB的时间
  • 检测挂载点(默认情况下为/ media / something) - 我的系统自动挂载USB驱动器。
  • 将文件复制到其上。

我需要用linux bash做这个。我已经搜索了一些有用的命令,如udev,mount,udevinfo,但实际上不知道如何使用它们(合并它们)来获得我需要的东西。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我自己没有写过任何udev规则,但是这个Ubuntu forum thread中“etola”的答案完全描述了你的用例(当设备出现时执行脚本)。但是,对于您插入的每个设备,它都是恕我直言,因此您可能需要多个条目。

还有一本关于writing udev rules的手册。

答案 1 :(得分:0)

我得到了它,它是功能性的,但我唯一没有修复的是:

  1. 可以通过2个挂载点接收USB设备。
  2. 您需要手动卸载设备
  3. 我找不到找到安装usb的/ dev的方法,所以它是一个常量。
  4. 好的是,您不需要将任何文件复制到USB上,只需插入即可将文件自动复制到其中。希望这可以帮助别人,或者可以改进。 (对不起,下面的解释是西班牙语......)

    1. Cree una regla de udev llamada 81-audo-copy.rules con elsiguientecódigo:
    2. KERNEL ==“sdb2”,RUN + =“/ home / adario / paraCopiar / autocopiar”

      Lo que hace es que cuando se inserta la memoria usb ejecuta el script de la ubicacion (elcódigo81es importante,ya que dependiendo 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. acáelcontenido de“autocopiar”,el archivo debe ser ejecutable
      2. sudo mount / 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,èstopraque sepamos el nombre delaubicación。

        1. Por ultimo,para que el script no nospidaconseseñacadavez que se ejecute,agregamos al archivo sudoers
        2. nombreUsuario ALL =(ALL)NOPASSWD:ALL