家里的文件越来越多,每个人的文件放得到处都是,需要的时候又找不到。。。

买个NAS服务器?太贵!太吵!太费电!。。。

好在我们有树莓派,自己动手,丰衣足食!

说做就做,主要分成以下三部分

  1. 加载双USB移动硬盘
  2. 在网络中共享
  3. 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,分成以下两种情况

  1. 如果USB1上有而USB2无,将文件拷贝到USB2
  2. 如果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服务器的更多相关文章

  1. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

  2. 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”

    原创作者:HackLiu 0×00 前言 ‍ ‍ 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...

  3. 使用树莓派制作一套“NAS+私有云盘+下载机”

    ‍ ‍‍原创作者:HackLiu‍‍ ‍ 0×00 前言 ‍‍如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司 ...

  4. 家用NAS配置方案

    对家用用户而言,NAS即一台下载机,硬件需要满足以下几点: 1.稳定性:24×7稳定无故障运行. 2.拓展性:较多的硬盘槽位,便于容量扩容: 3.体积小巧:占地面积小,便于放置. 4.方便远程管理:无 ...

  5. 树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)

    今天收到了小派,UK产的绿板子,还配了个透明盒子,装在里面闪亮亮的很好看,而且只有卡片大小,寻思着用它做什么好呢?想来想去,看到人家拿小派作家庭媒体中心,还有人拿它当下载机,于是就萌生了一个家庭媒体中 ...

  6. 变废为宝,用旧电脑自己DIY组建 NAS 服务器

    i17986 出品,必属佳作! 前言: 老外不喜欢升级硬件和软件,大家应该都知道.我昨天无意看到 FreeNAS 自述文件,这个系统可以让你使用旧的计算机硬件,于是我决定这么做.垃圾电脑你怎么能没有, ...

  7. Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess

    http://www.jb51.net/article/61193.htm ———————————————————————————————————————————— 这篇文章主要介绍了Apache2. ...

  8. 为eclipse EE(汉化版) 配置Tomcat服务器

    为eclipse EE(汉化版) 配置Tomcat服务器   很多小朋友在初次使用eclipse进行web开发的时候,很是蒙蔽.以前都是文本编辑器写好,做好目录结构,往tomcat下一扔,重启,搞定. ...

  9. 22-1 web传输视频 Opencv+usb摄像头 树莓派+Flask实现视频流媒体WEB服务器

    第一篇 讲解原理 https://blog.miguelgrinberg.com/post/video-streaming-with-flask 第二篇 加入多线程可以直接用 https://gith ...

随机推荐

  1. JavaScript进阶内容1:各种对象类型判断

    该文章主要用来介绍JavaScript中常用的一些对象检测判断方法,整理资源来自书本和网络,如有错误或说明不详之处,望评论提出,本菜定提名感谢……(本文章知识比较基础,大牛请提些意见再绕道,三克油^_ ...

  2. 二叉搜索树BinarySearchTree(C实现)

    头文件—————————————————————————————— #ifndef _BINARY_SEARCH_TREE_H_ #define _BINARY_SEARCH_TREE_H_ #inc ...

  3. codeforces MUH and Cube Walls

    题意:给定两个序列a ,b, 如果在a中存在一段连续的序列使得 a[i]-b[0]==k, a[i+1]-b[1]==k.... a[i+n-1]-b[n-1]==k 就说b串在a串中出现过!最后输出 ...

  4. 2014 网选 5012 Dice(bfs模板)

    /* 题意:就是给定两个筛子,每个筛子上6个面,每个面的数字属于[1,6], 且互不相同! 问a筛子最少经过按照题目规定的要求转动,达到和b筛子上下左右前后的数字相同! 思路:很直白的bfs,将每一种 ...

  5. C#中处理耗时任务的几种方式

    0.准备 首先,我们先创建几个耗时任务: public class TestTasks { //无参.无返回值任务 public void Task1() { Console.WriteLine(&q ...

  6. Slip.js – 在触摸屏上实现列表的滑动排序功能

    Slip.js 是一个很小的 JavaScript 库,用于实现对触摸屏的互动 Swipe 和对元素重新排序列表(Reordering).Slip.js 没有任何的依赖,你可以通过自定义 DOM 事件 ...

  7. js 变量提升+方法提升

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. .Net魔法堂:史上最全的ActiveX开发教程——开发篇

    一.前言 在设计某移动内部自动化运维平台时,经综合考虑终端机性能和功能需求等因素后,决定采用B/S模式,并且浏览器通过ActiveX组件实现与服务器Agent作P2P的通讯.好处,整个平台以网页形式存 ...

  9. mysql depended_query 优化案例一则

    月度利息统计sql优化 原因:写的sql语句复杂,理解起来有难度,另一方面,查询性能比较低 原来的语句如下: SELECT tp.year, tp.month, tp.bid_id, b.`title ...

  10. Mysql查询大表出现的一个错误

    第一次测试执行下面的语句时发生如下错误:bigdata里面有100万条数据 mysql> select count(*) from (select distinct(id) from bigda ...