【问题标题】:Copy a file to a usb automatically on Linux bash在 Linux bash 上自动将文件复制到 USB
【发布时间】:2011-05-12 08:24:07
【问题描述】:

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

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

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

有什么建议吗?

【问题讨论】:

    标签: linux bash usb mount


    【解决方案1】:

    我有点明白了,它很实用,但我唯一没有修复的是:

    1. 可以通过 2 个挂载点访问 USB 设备。
    2. 您需要手动卸载设备
    3. 我找不到找到安装 USB 的 /dev 的方法,所以它是一个常量。

    好处是你不需要将任何文件复制到USB上,只需插入,文件就会自动复制到它上面。希望这对其他人有帮助,或者可以改进。 (对不起,下面的解释是西班牙语...)

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

    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 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 que querramos)。

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

    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, èsto para que sepamos el nombre de la ubicación。

    1. Por ultimo, para que el script no nos pida contraseña cada vez que se ejecute, agregamos al archivo sudoers

    nombreUsuario ALL=(ALL) NOPASSWD: ALL

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-26
        • 2010-09-22
        • 1970-01-01
        • 2023-01-07
        • 2020-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多