shell与python判断文件是否存在
日常运维中,我们会存在每日备份的现象,针对这一种情况可能会要求监控文件是否存在。比较笨拙的方法就是登录上服务器到某个路径下查看文件是否存在,除此之外,我们可以利用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