shell与python判断文件是否存在

2018-08-07 08:42:37来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

  日常运维中,我们会存在每日备份的现象,针对这一种情况可能会要求监控文件是否存在。比较笨拙的方法就是登录上服务器到某个路径下查看文件是否存在,除此之外,我们可以利用shell或者python来编写监控文件是否存在的脚本来减少工作量。当然,作为一个同样是小白的我,编写的脚本可以略显简单,希望大神们可以指点指点(^_^)

1、shell编写监控文件是否存在的脚本

  我们可以利用CRT或者xshell等工具编写:

  以下是shell中判断文件是否存在,若不存在,则自动创建的方法。(当然,能用英文最好用英文写注释,本人英文水平太差...)

#!/bin/bash
#判断/export/home/wlan/AUTH这个路径下是否每天都会生成AUTH_*.xml文件
#文件名称
filename=/root/AUTH_1_1_`date +%Y%m%d`.xml
if [ ! -f $filename ];then
        touch $filename
        echo "file mk success"
else
        echo "exist"
fi

 

2、python编写铰孔文件是否存在的脚本(这个写了两个系统的实现,其实都差不多)

  1)Windows上:可以利用pycharm工具,当然,前提是环境都配置好了,python环境搭建可以百度一下哈

#判断文件是否存在,若不存在则创建
#
导入模块 import os import datetime #文件名称 filenameHead = "C:\\xxx" filenameFoot = ".txt" nowTime = datetime.datetime.now().strftime("%Y%m%d") if os.path.isfile( filenameHead + nowTime + filenameFoot ): print("文件已存在") else: file = open ( filenameHead + nowTime + filenameFoot,"w" ) file.close () print("文件已创建")

  2)Linux上:同样是使用CRT等工具,只不过文件结尾都是.py的格式,具体的可以自己实现一下看看

#确认字符类型
#-*- coding:utf-8 -*- 
#导入文件用来判断文件是否存在的模块
import os  
#导入获取时间的模块            
import datetime        
#变量,获取当前时间
nowtime = datetime.datetime.now().strftime("%Y%m%d")  
#变量,定义文件所在路径 
path = "/home/tnms2/python/"
#变量,定义文件前缀                           
fileHead = "xxx"     
#变量,定义文件后缀                                  
fileFoot = ".txt"                                      

#判断文件是否存在
if os.path.isfile( path + fileHead + nowtime + fileFoot ):
        print( "The " + fileHead + nowtime + fileFoot + " exist" )
#若不存在,则创建文件
else:
         #创建文件的语法 
        file = open( path + fileHead + nowtime + fileFoot,"w" )
        file.close()
        print( "The " + fileHead + nowtime + fileFoot + " touch successed" )

以上都是可以判断文件是否存在的脚本,恩,算是脚本吧,虽然看着比较简单。如果想要每天都能看到,咱们可以设置一个定时任务并将执行结果打印出来,这样每天只需要登录服务器查看打印出来的文件即可。

#设置定时任务
corntab -e
#每天九点自动执行脚本并且将结果追加到file_exist.log中
00 9 * * * python /export/home/wlan/file_exist.py >> /export/home/wlan/file_exist.log 

 

 

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:IO Redirect 与 Pipe

下一篇:Linux RedHat下解决“Device eht0 does not seem to be present,