近,做了一个NFS共享部署
方案是阿里云的两台ECS服务器+OSS,那个,实现储存目录共享,linux下目前只有CloudFS4OSS可以用!
于是,在每台ECS上都安装了一个ClouFS4OSS软件,让后吧附件目录都挂载到了OSS上!
那么问题来了,起初不以为然,以为是系统原因!当cloudfs运行一段时间后,会自动停止。
在和CloudFS官方人员交流后透露,cloudfs目前稳定性很差,或者说不稳定,尤其是配合nginx使用,就会有这些问题,他们的工程师也在解决这个问题!
那么,在官方解决之前,总得有其他替代方案吧,目前,NFS共享+OSS只有这个软件可以~自己用C重新写软件不可能了~
所以,想到了一个临时解决的方法,就是设置Crontab定时器,定时执行的~
前提,我的服务器软件是统一安装在/web/service目录下的~所以 cloudfs的目录位置是 /web/server/cloudfs
我写了一个bash脚本,代码如下:
#!/bin/bash
利用服务器的service返回状态作为参考参数,来判断当前服务状态
知识拓展 service返回状态有三个
0:表示服务正在运行
1:表示不存在的服务
3:表示服务以及停止
由此,我们if的出,当状态不等于0而等于3的时候执行启动命令
service cloudfs status > /dev/null
if [ $? != 0 ] || [ $? == 3 ]; then
service cloudfs start > /dev/null
fi
service cloudfs start > /dev/null
让后我们来设置定时器了
vim /etc/crontab
我设置的是每五分钟检查一次:
*/5 * * * * root /web/server/cloudfs/cloudfs.sh
让后wq保存退出
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。
更具实际情况执行以下命令:
/sbin/service crond start //启动服务
当让crontab不会自动启动,所以,我们需要设置crontab在开机的时候自动启动:
我们先打开自动启动脚本:
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
vim /etc/rc.d/rc.local
让后将
/sbin/service crond start
添加到末尾,wq保存退出
现在ok了~以后无论重启服务器还是什么,都不用担心cloudfs自动关闭了~如果你觉得五分钟太长了,你可以设置为一分钟即可!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。