tag:blogger.com,1999:blog-59465307047421309702024-03-06T16:20:07.273+08:00Jax 的工作紀錄除了在整理學習上的經驗,同時也能幫助其他需要的人Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5946530704742130970.post-6086723317997082992012-04-29T21:16:00.001+08:002012-04-29T21:16:51.090+08:00[Linux] 檢查 SAMBA 與 NFS Server 是否存在通常會透過 <strong>/etc/fstab</strong> 來處理掛載的設定,然後再使用 <strong>mount -a</strong> 來重新確認掛載,最好在排程的程序用到掛載目錄時也執行一次 mount -a,掛載目錄在斷線後是不會自動回復的,mount -a 的 Timeout 其實還蠻久的,尤其是 Server 不存在的時候,所以最好還是用對應的 client 先確認 server 是否存在。 <br />
<br />
而檢查 NFS 的 client 可以用 showmount 來處理,在 Ubuntu 上的安裝方式如下: <br />
<strong>sudo aptitude install nfs-common</strong><br />
<br />
而 SAMBA 的 client 則是用 smbclient,在 Ubuntu 上的安裝方式如下:<br />
<strong>sudo aptitude install smbclient</strong><br />
<br />
<br />
<strong>檢查 NFS Server 是否存在的流程</strong><br />
<br />
以 Shell 的方式檢查<br />
<pre class="sh" name="code"># 先以 client 確認 server 是否存在
/sbin/showmount 192.168.0.6 >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "NFS Server is not exist"
exit 1
fi
# 重新確認掛載
mount -a >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "NFS Server mount failed"
exit 1;
fi
</pre><br />
以 PHP 的方式檢查<br />
<pre class="php" name="code">/*先以 client 確認 server 是否存在*/
$state = shell_exec('/sbin/showmount 192.168.0.6 >/dev/null 2>&1; echo $?');
if(trim($state)!='0'){
echo "NFS Server is not exist";
exit;
}
/*重新確認掛載*/
if(shell_exec('mount -a 2>&1')){
echo "NFS Server mount failed"
exit;
}
</pre><br />
<br />
<br />
<strong>檢查 SAMBA Server 是否存在的流程</strong><br />
<br />
以 Shell 的方式檢查<br />
<pre class="sh" name="code"># 先以 client 確認 server 是否存在
smbclient -NL //192.168.0.6 >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "SAMBA Server is not exist"
exit 1
fi
# 重新確認掛載
mount -a >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "SAMBA Server mount failed"
exit 1;
fi
</pre><br />
以 PHP 的方式檢查<br />
<pre class="php" name="code">/*先以 client 確認 server 是否存在*/
$state = shell_exec('smbclient -NL //192.168.0.6 >/dev/null 2>&1; echo $?');
if(trim($state)!='0'){
echo "SAMBA Server is not exist";
exit;
}
/*重新確認掛載*/
if(shell_exec('mount -a 2>&1')){
echo "SAMBA Server mount failed"
exit;
}
</pre>Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0tag:blogger.com,1999:blog-5946530704742130970.post-63347940949406513472011-12-14T15:26:00.006+08:002023-02-26T14:14:51.949+08:00[Ubuntu] 掛載 Windows 分享目錄<ul><li>安裝 smbfs 套件<br />
<code>sudo apt-get install smbfs</code></li>
<li>建立掛載目錄<br />
<code>sudo mkdir /mnt/windows_share</code></li>
<li>開放最大權限<br />
<code>sudo chmod 777</code></li>
<li>測試掛載<br />
<pre class="sh" name="code">sudo mount -t cifs //192.168.0.10/my_share /mnt/windows_share -o username=jax,password=1234,noacl,noperm,codepage=cp950,iocharset=big5,file_mode=0666,dir_mode=0777
</pre></li>
<li>察看是否成功<br />
<code>df -h</code><br />
Filesystem Size Used Avail Use% Mounted on<br />
//192.168.0.10/my_share 7.9G 208K 7.9G 1% /mnt/windows_share</li>
<li>卸載<br />
<code>sudo umount /mnt/windows_share</code></li>
<li>修改開機掛載設定檔<br />
<code>sudo vim /etc/fstab</code><br />
<pre class="cfg" name="code">/mnt/windows_share was on //192.168.0.10/my_share
//192.168.0.10/my_share /mnt/windows_share cifs username=jax,password=1234,noacl,noperm,codepage=cp950,iocharset=big5,file_mode=0666,dir_mode=0777 0 0
</pre></li>
<li>套用開機設定檔<br />
<code>mount -a</code></li>
<li>再次察看是否成功<br />
<code>df -h</code><br />
Filesystem Size Used Avail Use% Mounted on<br />
//192.168.0.10/my_share 7.9G 208K 7.9G 1% /mnt/windows_share</li>
</ul><br />
參考資料:<br />
<a target="_blank" href="http://geek-garden.blogspot.com/2011/01/ubuntu-mount-windows.html">在 ubuntu 中 mount windows 分享的目錄</a><br />
<a target="_blank" href="http://indeepnight.blogspot.com/2007/05/mount.html">載掛(Mount)遠端資料夾的應用</a><br />
<a target="_blank" href="http://blog.sina.com.cn/s/blog_53d86b2d0100qeot.html">ubuntu的几个技巧: 自动连接Windows共享文件夹, 定时文件同步备份</a>Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0