开发者社区> 问答> 正文

Linux,CloudFS4OSS自动停止的临时解决方法

近,做了一个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 cloudfs status > /dev/null
if [ $? != 0 ] || [ $? == 3 ]; then
    service cloudfs start > /dev/null
fi
利用服务器的service返回状态作为参考参数,来判断当前服务状态 知识拓展 service返回状态有三个 0:表示服务正在运行 1:表示不存在的服务 3:表示服务以及停止 由此,我们if的出,当状态不等于0而等于3的时候执行启动命令
service cloudfs start > /dev/null 让后我们来设置定时器了
vim /etc/crontab 我设置的是每五分钟检查一次:
*/5 * * * * root /web/server/cloudfs/cloudfs.sh 让后wq保存退出 让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。 更具实际情况执行以下命令:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
当让crontab不会自动启动,所以,我们需要设置crontab在开机的时候自动启动: 我们先打开自动启动脚本:
vim /etc/rc.d/rc.local 让后将
/sbin/service crond start 添加到末尾,wq保存退出 现在ok了~以后无论重启服务器还是什么,都不用担心cloudfs自动关闭了~如果你觉得五分钟太长了,你可以设置为一分钟即可!




展开
收起
medzseven 2015-08-31 13:42:31 8870 0
3 条回答
写回答
取消 提交回答
  • ReLinux,CloudFS4OSS自动停止的临时解决方法
    这个文章解决了cloudfs自动退出的bug但是中间的停顿如果正好有会员浏览网站,会生成一个挂载点文件夹并不是空的,这样重新挂载会出错而不能启动服务,那么能不能把定时器在设置短一点,比如10秒钟,怎么写?
    2016-01-01 07:54:56
    赞同 展开评论 打赏
  • 码农|Coder| Pythonista
    优秀文章-欢迎进行技术分享,感谢你的支持!
    2015-09-09 01:15:16
    赞同 展开评论 打赏
  • ReLinux,CloudFS4OSS自动停止的临时解决方法
    不错,是个解决办法
    2015-09-08 20:56:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载