工具/原料樹莓派,硬碟
方法/步驟1:
你需要一個樹莓派,和一兩個閒置著的行動硬碟。體積較小的2.5硬碟可以由USB介面直接供電,但是我們需要一個帶有供電功能的USB分線器,因為樹莓派的USB介面提供的電是不足以給行動硬碟供電的。除此之外你也可以用thumbdrive,甚至是一張SD卡。事實上我現在在用的就是一個USB口的行動硬碟和一個thumbdrive搭建的,操作流程都是一樣的。
只用一個硬碟,也可以搭建分享檔案的網路儲存器,但是用兩個硬碟,就可以設定資料備份,以防有一個硬碟壞掉。
最初的步驟是在臺式機上格式化硬碟。這是為了方便,如果出了問題,我們可以把硬碟從NAS上拔下來,還可以在一臺PC上讀上面的資料。
可以在樹莓派上格式化,但是會花上幾個小時,從桌上型電腦上格式化會快很多。現在就去做吧。
設定SSH,開啟root使用者,首先為root使用者設定密碼:
sudo -i
passwd root
(輸入你的密碼)
然後在命令列下面執行raspi-config指令碼,可以用sudo命令,也可以登出當前使用者,然後以root使用者的身份登陸。在高階選項選單中,開啟SSH。
重啟後,你應該可以從聯網的另一臺機器登陸(如果在windows上,可以使用Putty):
SSH root@[IP地址]
登陸之後,搞清楚插上去的硬碟在/dev下面的編號是什麼。下文假設使用兩個硬碟,建立資料備份。輸入
fdisk -l
會顯示出已經掛載的儲存裝置。你應該看到類似於下面這樣(圖1):
/dev/mmc是樹莓派系統的分割槽,mmc指的是SD卡。/dev/sda1和/dev/sdb1和SD卡沒有關係,這些是你插上去的USB硬碟(本意是SCSI驅動器,但是現在用來指任何SATA口的或其他儲存器)
安裝ntfs-3g模組,於是我們就能讀寫NTFS格式的硬碟了。
apt-get install ntfs-3g
然後建立一個目錄,以這個目錄作為掛載點掛載硬碟。為簡單起見,下文用1和2來指代。
mkdir /media/1
mkdir /media/2
mount -t auto /dev/sda1 /media/1
mount -t auto /dev/sdb1 /media/2
mkdir /media/1/shares
mkdir /media/2/shares
下一步我們來設定Samba。Samba是Windows使用的網路檔案共享協議(事實上最新的OSX Mavericks也支援)
apt-get install samba
apt-get install samba-common-bin
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano /etc/samba/smb.conf
如果你不熟悉這類配置檔案,行首的#表示這一行是註釋,於是這一行的配置也就不會生效。要開啟一項功能,可以自己新增一行,也可以把某一行前面的註釋符號去掉,讓它生效。
我們先來啟動使用者安全;按下CTRL-W然後輸入”security”,來找到相關的選項。去掉這一行前面的註釋符號:
security = user
然後,移動到文字末尾(或者按住CTRL V直到移動到了末尾),新增網路共享,數目取決於你自己的需求。使用這種格式:
[test] comment = Test share
path = /media/1/shares
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
只有第一塊硬碟的配置——之後我們將用第二塊硬碟和第一塊同步,以進行備份。
然後用下面的命令重啟Samba。
service samba restart
現在給你的樹莓派新增一個使用者,假設你不想用同一個使用者來訪問(下文的”jamie”是使用者名稱)
useradd jamie -m -G users
輸入下面的命令給新使用者設定密碼,完成後確認。
passwd jamie
然後我們把這個使用者加入到Samba中。你需要兩次確認你的密碼。
smbpasswd -a jamie
然後就去測試網路儲存功能吧,應該可以在其他機器上看到了(Windows或Mac),而且你應該可以往上面寫入檔案。
現在還剩一個問題,你重啟樹莓派,驅動器的掛載就會失效。為了解決這個問題,我們需要安裝autofs。
apt-get install autofs
nano /etc/auto.master
在+auto.master下面加入一行:
/media/ /etc/auto.ext-usb –timeout=10,defaults,user,exec,uid=1000
現在就可以安全重啟,不會破壞配置了。
如果你安裝了兩個硬碟,我們現在就可以用一個指令碼來同步資料,如果一塊硬碟壞了,還有一份備份的。我們用rsync來做備份。
apt-get install rsync
crontab -e
linux下面的crontab是用來自動執行某個任務的一個軟體。我曾經在《自動備份你的網站》中簡要提到過。加上這一行:
30 5 * * * rsync -av –delete /media/1/shares /media/2/shares/
數字的格式是這樣子的:
分鐘|小時|一個月中哪一天|月份|一個星期中哪一天
所以我們加進去的那一行,rsync命令會在每天的早晨5點30分執行(*萬用字元表示“所有”,所以會在“每個月的每一天”執行)
如果你想立刻進行一次備份,只要貼上這個rsync的命令:
rsync -av –delete /media/1/shares /media/2/shares/
取決於共享資料夾裡放的東西,耗費的時間可能只要幾秒鐘,也可能會長一些,在完成之後會給你一個報告。rsync最棒的地方在於它會記錄哪些檔案更新了,哪些檔案新增近來或是應該被刪除。你可以再試一遍那個命令,應該立刻就會完成的,因為rsync知道沒有檔案發生了變動。
工具/原料樹莓派,硬碟
方法/步驟1:
你需要一個樹莓派,和一兩個閒置著的行動硬碟。體積較小的2.5硬碟可以由USB介面直接供電,但是我們需要一個帶有供電功能的USB分線器,因為樹莓派的USB介面提供的電是不足以給行動硬碟供電的。除此之外你也可以用thumbdrive,甚至是一張SD卡。事實上我現在在用的就是一個USB口的行動硬碟和一個thumbdrive搭建的,操作流程都是一樣的。
方法/步驟2:只用一個硬碟,也可以搭建分享檔案的網路儲存器,但是用兩個硬碟,就可以設定資料備份,以防有一個硬碟壞掉。
準備硬碟方法/步驟1:最初的步驟是在臺式機上格式化硬碟。這是為了方便,如果出了問題,我們可以把硬碟從NAS上拔下來,還可以在一臺PC上讀上面的資料。
可以在樹莓派上格式化,但是會花上幾個小時,從桌上型電腦上格式化會快很多。現在就去做吧。
設定SSH,開啟root使用者,首先為root使用者設定密碼:
sudo -i
passwd root
(輸入你的密碼)
然後在命令列下面執行raspi-config指令碼,可以用sudo命令,也可以登出當前使用者,然後以root使用者的身份登陸。在高階選項選單中,開啟SSH。
方法/步驟2:重啟後,你應該可以從聯網的另一臺機器登陸(如果在windows上,可以使用Putty):
SSH root@[IP地址]
方法/步驟3:登陸之後,搞清楚插上去的硬碟在/dev下面的編號是什麼。下文假設使用兩個硬碟,建立資料備份。輸入
fdisk -l
會顯示出已經掛載的儲存裝置。你應該看到類似於下面這樣(圖1):
/dev/mmc是樹莓派系統的分割槽,mmc指的是SD卡。/dev/sda1和/dev/sdb1和SD卡沒有關係,這些是你插上去的USB硬碟(本意是SCSI驅動器,但是現在用來指任何SATA口的或其他儲存器)
方法/步驟4:安裝ntfs-3g模組,於是我們就能讀寫NTFS格式的硬碟了。
apt-get install ntfs-3g
然後建立一個目錄,以這個目錄作為掛載點掛載硬碟。為簡單起見,下文用1和2來指代。
mkdir /media/1
mkdir /media/2
mount -t auto /dev/sda1 /media/1
mount -t auto /dev/sdb1 /media/2
mkdir /media/1/shares
mkdir /media/2/shares
配置Samba方法/步驟1:下一步我們來設定Samba。Samba是Windows使用的網路檔案共享協議(事實上最新的OSX Mavericks也支援)
apt-get install samba
apt-get install samba-common-bin
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano /etc/samba/smb.conf
方法/步驟2:如果你不熟悉這類配置檔案,行首的#表示這一行是註釋,於是這一行的配置也就不會生效。要開啟一項功能,可以自己新增一行,也可以把某一行前面的註釋符號去掉,讓它生效。
我們先來啟動使用者安全;按下CTRL-W然後輸入”security”,來找到相關的選項。去掉這一行前面的註釋符號:
security = user
方法/步驟3:然後,移動到文字末尾(或者按住CTRL V直到移動到了末尾),新增網路共享,數目取決於你自己的需求。使用這種格式:
[test] comment = Test share
path = /media/1/shares
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
只有第一塊硬碟的配置——之後我們將用第二塊硬碟和第一塊同步,以進行備份。
方法/步驟4:然後用下面的命令重啟Samba。
service samba restart
現在給你的樹莓派新增一個使用者,假設你不想用同一個使用者來訪問(下文的”jamie”是使用者名稱)
useradd jamie -m -G users
輸入下面的命令給新使用者設定密碼,完成後確認。
passwd jamie
然後我們把這個使用者加入到Samba中。你需要兩次確認你的密碼。
smbpasswd -a jamie
方法/步驟5:然後就去測試網路儲存功能吧,應該可以在其他機器上看到了(Windows或Mac),而且你應該可以往上面寫入檔案。
方法/步驟6:現在還剩一個問題,你重啟樹莓派,驅動器的掛載就會失效。為了解決這個問題,我們需要安裝autofs。
apt-get install autofs
nano /etc/auto.master
在+auto.master下面加入一行:
/media/ /etc/auto.ext-usb –timeout=10,defaults,user,exec,uid=1000
現在就可以安全重啟,不會破壞配置了。
資料備份方法/步驟1:如果你安裝了兩個硬碟,我們現在就可以用一個指令碼來同步資料,如果一塊硬碟壞了,還有一份備份的。我們用rsync來做備份。
apt-get install rsync
crontab -e
linux下面的crontab是用來自動執行某個任務的一個軟體。我曾經在《自動備份你的網站》中簡要提到過。加上這一行:
30 5 * * * rsync -av –delete /media/1/shares /media/2/shares/
方法/步驟2:數字的格式是這樣子的:
分鐘|小時|一個月中哪一天|月份|一個星期中哪一天
所以我們加進去的那一行,rsync命令會在每天的早晨5點30分執行(*萬用字元表示“所有”,所以會在“每個月的每一天”執行)
如果你想立刻進行一次備份,只要貼上這個rsync的命令:
rsync -av –delete /media/1/shares /media/2/shares/
取決於共享資料夾裡放的東西,耗費的時間可能只要幾秒鐘,也可能會長一些,在完成之後會給你一個報告。rsync最棒的地方在於它會記錄哪些檔案更新了,哪些檔案新增近來或是應該被刪除。你可以再試一遍那個命令,應該立刻就會完成的,因為rsync知道沒有檔案發生了變動。