摘要:我需要一种方法来监控 cifs 挂载点,但我不知道如何做。
你好,
我有一台运行 Debian 5 的虚拟机,配备 2 个 CPU 和 1Gb RAM。
它挂载了我们的一些用户的 cifs 共享文件夹,大约有 200 个 cifs 挂载点。
有一个正在运行的 apache 服务器,它分析此 cifs 以查找名为 cv.html 和 personal_info.txt 的特定文件。apache 有一些 php 使其更加出色。;)
一开始我遇到了一些麻烦并且没有时间,所以秘书管理着一个包含所有用户名的文件并且 cron 读取它来安装它们。
每天都会重新安装一次所有内容,这是因为某种“断开连接问题”,我不知道如何解决它。
这是我的脚本:(/var/www/fotos/llistat_personal.txt 有一个名称列表)
#!/bin/sh
#############################debug
#set -x
#############################
#############################vars
UMOUNT=/bin/umount
MOUNT=/sbin/mount.cifs
CHOWN=/bin/chown
############################
############################functions
log (){
/usr/bin/logger -t `basename $0` $1;
}
desmontar () {
$UMOUNT $1
log "Umounted $1"
}
montar (){
[ -a /var/www/$1 ] && chown -R www-data.www-data /var/www/$1 || mkdir -p /var/www/$1 && chown -R www-data.www-data /var/www/$1 || echo "Error ___ $1"
$MOUNT //fbmfsu/home$/$1/web_pub/ /var/www/$1/ -o user=webpersonal1,pass=XXXXXXX,dom=FBM,uid=33,gid=33,ro,soft,nocase,noexec || echo " Error___mount__$1"
log "Mounted $1 "
}
###########################
###########################main
for i in `ls -l /var/www/personal/|grep ^d|awk '{print $8}'`
do
desmontar $i
done
for i in ` cat /var/www/fotos/llistat_personal.txt |grep -v '^#'| cut -c 1-20`
do
montar $i
done
exit 0
我知道这是一个糟糕的脚本,但我在这里寻求帮助以改进它。
谢谢。
答案1
您正在以只读方式安装,因此我认为您不需要写权限。
为什么不//fbmfsu/home$
使用文件服务器上具有只读访问权限的特殊服务帐户挂载一次,以访问所有用户的文件夹并创建大量符号链接呢?或者使用mod_userdir?
或者作为另一种选择,使用类似自动文件系统在访问时它将自动挂载/卸载共享。