怎样编写shell自动复制插入电脑的u盘中的文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
nofrish
帖子: 1
注册时间: 2007-11-28 21:51

怎样编写shell自动复制插入电脑的u盘中的文件

#1

帖子 nofrish » 2009-05-05 14:57

我的系统在插入u盘时自动挂载。现在我编了很简单的shell,请问怎样让shell自动在插入u盘以后就执行,复制u盘中的文件。
头像
pshvvvv
帖子: 308
注册时间: 2009-02-23 21:58
联系:

Re: 怎样编写shell自动复制插入电脑的u盘中的文件

#2

帖子 pshvvvv » 2009-05-05 19:44

我的是移动硬盘,不知道和U盘一样是否一样,假如U盘插入还是会在/media下面的话,就好办了,如果其他路径,只要你知道在哪也行

我也是新手,才学几天shell,不过我觉的应该可以这样:

首先,用用shell逻辑判断U盘挂在文件是否存在,因为ubuntu是自动挂载的
用if [-e *] ; then <== -e 是检测那个文件是否存在
如果存在为真 就copy U盘具体路径 目的
执行完毕退出
如果为假,就直接退出
或者用while语句也行

保存为代码后,用crontab添加任务,可以1分钟执行一次,时间频率你就自己设置就好了

具体代码我我怕我编写来有语法错误,反而误导你
所以具体代码,你自己实验下吧,应该可行。 :em11 希望可以帮上你忙
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 怎样编写shell自动复制插入电脑的u盘中的文件

#3

帖子 xiooli » 2009-05-05 20:16

添加udev规则:
在/etc/udev/rules.d 新建一个文件,比如说10-udisk.rules
内容如下:

代码: 全选

KERNEL=="sd[b-z]", SUBSYSTEMS=="block", RUN+="dir/udisk.sh"
然后在对应的位置新建一个bash脚本udisk.sh,其内容类似:

代码: 全选

if [ "$ACTION" = "add" ];then                                                   
      cp /media/disk/file path
fi
回复