树莓派版的家用NAS服务器
家里的文件越来越多,每个人的文件放得到处都是,需要的时候又找不到。。。
买个NAS服务器?太贵!太吵!太费电!。。。
好在我们有树莓派,自己动手,丰衣足食!
说做就做,主要分成以下三部分
- 加载双USB移动硬盘
- 在网络中共享
- USB移动硬盘间同步
加载双USB移动硬盘
为啥树莓派加USB?安静省电呗,你要弄主机和大硬盘24小时开着,估计没用几个月,让你白天看着电表哭,晚上听着机器吵。。。
为啥要双移动硬盘?一个用来网络共享,一个用来备份。不省电了?如果老婆的文件有一天不见了,估计你就不会想着省电了,呵呵呵~~
由于树莓派的USB个数的限制(不要笑话,哥们我现在还在使用一代B型),移动硬盘一定要接在带外接电源的USB Hub上
|
// 由于希望在Windows的电脑上可以查看文件,所以USB硬盘的文件系统选择NTFS // 树莓派上安装NTFS文件系统的支持 sudo apt-get install ntfs-3g // 查看USB的连接情况,一般会是类似/dev/sda及/dev/sdb的连接 sudo fdisk –l // 为USB加载准备文件夹 sudo mkdir /media/USBHDD1 sudo mkdir /media/USBHDD2 // 挂载USB到树莓派,USB设备名称见截图 sudo mount -t auto /dev/sda1 /media/USBHDD1 sudo mount -t auto /dev/sdb1 /media/USBHDD2 // 为网络共享准备共享文件夹 sudo mkdir /media/USBHDD1/shares sudo mkdir /media/USBHDD2/shares //这一步有点危险,做之前做好系统备份;如何备份?Win32 Disk Imager拷贝一个IMG文件呗 // 修改树莓派的文件系统表,需要按照fdisk中看到的信息填写 sudo nano /etc/fstab /dev/sda1 /media/USBHDD1 auto noatime 0 0 /dev/sdb1 /media/USBHDD2 auto noatime 0 0 |

在网络中共享
NAS,NAS,网络连接存储,当然要通过网络共享出来嘛,我们用常用的Samba方式
|
// 安装Samba服务器及客户端工具 sudo apt-get install samba samba-common-bin // 备份及修改配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old sudo nano /etc/samba/smb.conf // 在配置文件的地步加入如下配置节(不解释) [Backup] comment = Backup Folder path = /media/USBHDD1/shares valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no // 重启Samba服务让配置生效 sudo /etc/init.d/samba restart // 添加一个叫backups的用户 sudo useradd backups -m -G users // 修改该用户的密码 sudo passwd backups sudo smbpasswd -a backups // 参考截图访问共享文件夹(杠杠+树莓派IP地址) cd /media/USBHDD1/shares ls |

USB移动硬盘间同步
以上还只用到了一块USB硬盘,以下的命令是在凌晨两点将文件从USB1拷贝到USB2,分成以下两种情况
- 如果USB1上有而USB2无,将文件拷贝到USB2
- 如果USB2上无而USB2有,将USB2上文件删除
|
// 安装同步软件 sudo apt-get install rsync // 配置同步任务 crontab –e // 在最后加入如下命令 0 2 * * * rsync -av --delete /media/USBHDD1/shares/ /media/USBHDD2/shares/ // 也可以使用以下命令立即执行同步操作 rsync -av --delete /media/USBHDD1/shares/ /media/USBHDD2/shares/ |
装好的系统建议使用固定IP的方式,方式如下(使用网线的方式)
|
// 备份网络配置 sudo /etc/network/interfaces /etc/network/interfaces.old //编辑网络配置 sudo nano /etc/network/interfaces // 网络配置改成如下格式 iface eth0 inet static address 192.168.1.115 gateway 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 |
忍不住贴一张收工以后的PP,哈哈哈。。。

Andy Yang
2015.10.12
树莓派版的家用NAS服务器的更多相关文章
- 自己家里搭建NAS服务器有什么好方案?
转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...
- 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...
- 使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司 ...
- 家用NAS配置方案
对家用用户而言,NAS即一台下载机,硬件需要满足以下几点: 1.稳定性:24×7稳定无故障运行. 2.拓展性:较多的硬盘槽位,便于容量扩容: 3.体积小巧:占地面积小,便于放置. 4.方便远程管理:无 ...
- 树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)
今天收到了小派,UK产的绿板子,还配了个透明盒子,装在里面闪亮亮的很好看,而且只有卡片大小,寻思着用它做什么好呢?想来想去,看到人家拿小派作家庭媒体中心,还有人拿它当下载机,于是就萌生了一个家庭媒体中 ...
- 变废为宝,用旧电脑自己DIY组建 NAS 服务器
i17986 出品,必属佳作! 前言: 老外不喜欢升级硬件和软件,大家应该都知道.我昨天无意看到 FreeNAS 自述文件,这个系统可以让你使用旧的计算机硬件,于是我决定这么做.垃圾电脑你怎么能没有, ...
- Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess
http://www.jb51.net/article/61193.htm ———————————————————————————————————————————— 这篇文章主要介绍了Apache2. ...
- 为eclipse EE(汉化版) 配置Tomcat服务器
为eclipse EE(汉化版) 配置Tomcat服务器 很多小朋友在初次使用eclipse进行web开发的时候,很是蒙蔽.以前都是文本编辑器写好,做好目录结构,往tomcat下一扔,重启,搞定. ...
- 22-1 web传输视频 Opencv+usb摄像头 树莓派+Flask实现视频流媒体WEB服务器
第一篇 讲解原理 https://blog.miguelgrinberg.com/post/video-streaming-with-flask 第二篇 加入多线程可以直接用 https://gith ...
随机推荐
- AppStore新应用上传指南
目录 [隐藏] 1 提交新应用前的准备工作 2 进入itunesconnect 3 提交新应用的信息 4 上传应用 5 用Application Loader上传应用 6 上传时出错的解决方案 6. ...
- 读书笔记_Effective_C++_条款四十二:了解typename的双重意义
顾名思义,typename有双重含意.只要你用过template,那么第一重含意一定知道,那就是声明模板的时候,我们既可以这样写: template <class T> 也可以这样写 te ...
- Unit Of Work--工作单元(一)
简介 最近忙着新项目的架构,已经有一段时间没有更新博客了,一直考虑着要写些什么,直到有一天跟朋友谈起他们公司开发数据层遇到的一些问题时,我想应该分享一些项目中使用的数据访问模式. 虽然最近一直都在使用 ...
- 获取ACCESS数据库中自增变量的值
/// <summary> /// 获取自增变量值 /// </summary> /// <returns>自增变量值</returns> public ...
- 超实用的JavaScript技巧及最佳实践(下)
1.使用逻辑符号&&或者||进行条件判断 1 2 3 var foo = 10; foo == 10 && doSomething(); // is the same ...
- iOS-给UIView添加点击事件
一.当遇到一些UIView 或者 UIView的子类时,比如点击UIImageView要放大图片等. 二.步骤: 1.首先要确保打开控件的用户交互,userInteractionEnabled设置成Y ...
- python面向对象编程(上)
面向对象编程(OOP,Object Oriented Programming)是每一个高级编程语言都支持的编程方法,比如JAVA/C++/C#等等.学习面向对象编程是每一个程序员都绕不开的重点内容. ...
- UICollectionView使用以及与UITableView的区别
在开始前我们在这先附一段最简单的代码 - (void)viewDidLoad { [super viewDidLoad]; UICollectionViewFlowLayout *layout = [ ...
- 6/20 sprint3 看板和燃尽图的更新
- 20161119微信小程序初识
Tritonal ft. Angel Taylor - Getaway [Official Lyric Video]