[巴法络] WVL脱机(无人值守)向ntfs usb移动硬盘拷入数据 |
背景:想从nas里导出一批200G下载完的文件到移动硬盘,可能你会说为什么不用千兆LAN呢?速度60M/s更快啊
可是很不巧的是移动硬盘是usb2.0接口的。网线坏了,只有150M速率的802.11n wifi。眼看着7M/s的速度距离完成所有还有8个小时…各种蛋疼。更惨的是我用的是笔记本,没带电源。电力只能维持多3小时了…. 整理搜索了一下资料,成功实现吧移动硬盘直接挂到nas上让它自己拷数据,我明天再去收割… 适用场合: 1. 没有千兆LAN 2. 不想长期开着电脑 *以下方案在1.64官方固件下测试通过 实现 1. 前提:wvl必须已root 而且能ssh连上, 已装 ipkg 2. ssh连上,执行以下命令 忽略提示报警 ~#ipkg install ntfs-3g 3.接上移动硬盘,这时nas会自动加载,且function灯亮蓝色。(这里有个奇怪的现象,好像nas的系统在检测到usb磁盘的时候会重启很多服务,包括ssh也会断开)稍等约1分钟,重连ssh。 4.这时候可以执行 df -h 看到已经挂载了usb磁盘 /dev/usbdisk1_1 / 在 /mnt/usbdisk1/ 5. 但是这个盘是只读的,如果你尝试在 /mnt/usbdisk1/ 里写入任何文件(cp)或创建文件夹(mkdir nastest),都会告诉你没有权限。没关系,我们把自动挂载的方式换成刚安装的ntfs-3g ~#umount /dev/usbdisk1_1 /mnt/usbdisk1 ~#ntfs-3g /dev/usbdisk1_1 /mnt/usbdisk1 第一行是解除挂载,第二行是用ntfs-3g重新挂载。之后再试试 mkdir nastest,然后list –l。文件夹nastest创建成功了。 6. 接下来要怎样脱机拷贝文件呢,就是说电脑断开ssh连接后,nas依然会执行把内容复制到移动硬盘直到完成。 假定我们要把 /mnt/array1/download/done/ 这个文件夹的内容统统复制到刚才移动硬盘创建的 /mnt/usbdisk1/nastest/ 里?指令只有一条 ~#nohup cp –R /mnt/array1/download/done/ /mnt/usbdisk1/nastest/ & 好像有点复杂,我们拆解出来理解就不难了 nohup 把后面的命令挂载去给nas自己运行,不依赖于ssh的连接 cp 复制文件,这个不用多解释了 -R cp的参数,复制目录用 & 命令行末尾的&很重要不要遗漏,表示提交后命令在后台执行,不会占用着前端进程。 运行后看到移动硬盘的数据灯开始一闪一闪写入数据,这个时候可以断开ssh关电脑静待nas把传输完成(断开ssh后硬盘灯还在闪,说明ok了,nas有在好好努力地工作着)。 回顾一下以后再需要脱机拷贝数据的话应该执行哪些命令(接上硬盘) ~#umount /dev/usbdisk1_1 /mnt/usbdisk1 ~#ntfs-3g /dev/usbdisk1_1 /mnt/usbdisk1 ~#nohup cp –R /mnt/array1/download/done/ /mnt/usbdisk1/ & 补充: 1. ntfs-3g 的传输效率其实也一般只有12M/s 左右,而且吃nas的cpu资源比较高。不过无所谓了,脱机无人值守时间耗得起。毕竟linux不擅长操控ntfs。 2. 如果移动硬盘不止分了一个区的,那么如上图例里,我的移动硬盘有三个分区,我就是挂载了第三个分区 /dev/usbdisk1_3 到 /mnt/usbhdd 。挂到不同的地方,更省事了不必umount 原来的第一分区 部分带贴图见我的博客 http://snmoney.blog.163.com/blog/static/440058201332113444453/ |
补充,安全地卸载移动硬盘
建议先执行 killall ntfs-3g 这样用ntfs-3g挂载的分区就会关掉 如果用 umount 的话会提示磁盘busy的(就是给ntfs-3g占用着啊) |
我觉得楼主在copy的时候可以试试用screen代替nohup. rsync代替cp. 好处是可以随时监控进度.
ipkg install screen. 先运行screen, 然后执行 "rsync -av --progress 源目录 目标目录". 然后直接断开。 随时登录用 screen -x 就能恢复运行的terminal. |
本帖最后由 hz200 于 2013-8-6 21:12 编辑
楼主你太累 ipkg install screen ipkg install mc #一个像dos下的pctools的工具 screen mc |