利用While解决文件等待问题
前几天有个朋友向笔者求助,他说他在Unix系统管理的时候遇到了一个问题.他在Unix系统中部署了一个数据库系统.现在他希望能够对这个数据库实现异地备份.他的解决思路是,先利用数据库自身的功能进行本地备份(数据库没有自动进行异地备份的功能),然后再将这个备份文件复制到异地去.如果备份是确定的,即按照计划来进行备份,如每天晚上12点备份,这是好解决的.只需要利用Unix系统自带的CRON任务计划功能即可以解决.但是现在的问题是,有时候这个备份具有不确定性.如数据库管理员有时候也需要进行临时的备份,为此他希望对于这些临时备份也能够自动实现异地备份. 一、解决思路. 针对这些临时性的备份任务,如果少的话,那么可以对其进行手工异地备份.然后利用cron任务计划执行有计划的异地备份工作.如果临时性备份比较频繁,而用户又确实对异地备份的功能比较急切的话,那么就只能够采用其他折中的处理方式.笔者下面的这个解决思路,希望能够帮助解决这个问题.这个思路比较简单,即让操作系统隔一段固定的时间(如10分钟)就去检查一下是否有生成了备份文件.如果生成了的话,则系统就将这个备份文件移动(不是复制)到异地进行备份. 不过笔者这里要介绍的是另外一种解决方式,即利用while循环来解决这个文件等待的问题.其实,这个文件等待也不是这个系统工程师遇到的问题,而是具有一定的普遍性.如一个应用程序需要从一个文件中读取数据,而这个文件又是另一个应用程序或者同一个应用程序的不同进程所产生的.为此, 二、具体实现. 以上介绍的这个思路,主要是利用while循环来实现的.利用while循环,操作系统会重复的执行一组命令,直到控制命令返回一个假false的状态值.如果要实现上面这个无人值守的安装进程,可以通过如下的脚本来实现. While [! –r profile.txt] #循环条件语句 do #循环操作语句 sleep 30 done ./setup.sh 在编写这个脚本的时候,各个部分的含义是什么,又有哪些注意事项呢?具体来说,系统工程师需要掌握下面的内容.这些是写好一个while循环结构最基本的东西. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |