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
shell与python判断文件是否存在的更多相关文章
- 【Python备忘】python判断文件和文件夹是否存在
python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...
- Python判断文件和文件夹是否存在的方法
Python判断文件和文件夹是否存在的方法 这篇文章主要介绍了Python判断文件和文件夹是否存在的方法,本文还讲解了判断是否为文件或者目录的方法.os.path.lexist的作用.FTP中判断文件 ...
- Python 判断文件是否存在的三种方法
通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...
- python 判断文件是否存在和删除文件的api (其中判断文件在不在让想起这个可以强兼容jenkins工作目录那个问题)
判断文件在不在的api: os即operating system(操作系统),Python 的 os 模块封装了常见的文件和目录操作. os.path模块主要用于文件的属性获取,exists是“存在” ...
- Python判断文件是否存在的三种方法
通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...
- Python判断文件是否存在的三种方法【转】
转:http://www.cnblogs.com/jhao/p/7243043.html 通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先 ...
- python判断文件是否存在
# 判断文件是否存在 def judgejson(jsonpath): # 如果存在就返回True,不存在就返回False return os.path.exists(jsonpath)
- Python 判断文件/目录是否存在
使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 os.path.ex ...
- python判断文件的访问权限
os.access(file, mode)判断文件的访问权限file为文件mode为操作模式,有这么几种:os.F_OK: 检查文件是否存在;os.R_OK: 检查文件是否可读;os.W_OK: 检查 ...
随机推荐
- spring定时任务的集中实现
转载博主:感谢博主 http://gong1208.iteye.com/blog/1773177 Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前 ...
- 统计分析: 跨库多表join
mysql中如果多个库在一个实例上, 可以进行多表的跨库Join, 但是如果后期数据库分隔到不同的实例机器上,有查询问题 mysql的查询优化器没有其他商业数据库做的好, 用来CRUD还行, 但是做大 ...
- Ubuntu搜狗输入法乱码情况
cd ~/.config sudo rm -rf SogouPY* sogou*
- about 字节
关于由于赋值导致字节的截断.字节扩展及数据类型的提升: 一.字节截断:int----->char 当一个字节(8位)放不下时,出现截断,直接取(最后一个字节)最后面面8位. 例如:1000000 ...
- Spring AOP的增强处理
就是@Before @Around @AfterReturning @AfterThrowing这几个标签的属性可以放到方法参数里面获取 例子 //正常操作@Around("service( ...
- KBEngine warring项目源码阅读(二) 登录和baseapp的负载均衡
原本不打算把登录拿出来写的,但是阅读登录部分的代码的时候发现登录和注册还不太一回事,因为登录涉及到分配baseapp的ip,负载均衡的实现,所以水一下. 流程图: 和上次一样,先是找unity控件 找 ...
- html5标签的兼容性处理
HTML5的语义化标签以及属性 1.可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单 2.使用他们能让代码语义化更直观,而且更方便SEO ...
- ajax实现异步请求的过程
var xhr; xhr = new XMLHttpRequest(); //创建一个异步对象 xhr.open("Get", "test.a ...
- java.lang.IllegalArgumentException: Document base F:\personal\projects\annoMVC\web does not exist or is not a readable directory
tomcat明明在d盘,怎么到F盘了...纳闷啊... 解决办法: 1停掉Tomcat服务2把/conf/Catalina/localhost下的文件删除掉(我在这个文件夹里发现了一个xml,指向了F ...
- Android rxjava2的disposable
rxjava+retrofit处理网络请求 在使用rxjava+retrofit处理网络请求的时候,一般会采用对观察者进行封装,实现代码复用和拓展.可以参考我的这篇文章:rxjava2+retrofi ...