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: 检查 ...
随机推荐
- Phpstorm Git 操作
一.前提: 1.下载并安装好 Phpstorm 2.下载并安装好 Git 3.熟悉 Git 相关命令行操作 二.Git pull & commit(add): 下面简单说一下相关操作: Php ...
- DM设备的创建与管理
DM(Device Mapper)即设备映射(逻辑设备). MD和DM是Linux内核上2种工作机制(实现逻辑设备)不同的模块. Physical Volume(PV): 物理卷 底层 ...
- IDEA/Eclipse安装 Alibaba Java Coding Guidelines 插件
为了让开发者更加方便.并且达到快速规范代码格式的目的并实行起来,阿里巴巴基于<阿里巴巴Java开发规约>手册内容,研发了一套自动化的IDE检测插件(IDEA.Eclipse).它就是Ali ...
- 《从0到1学习Flink》—— Flink 中几种 Time 详解
前言 Flink 在流程序中支持不同的 Time 概念,就比如有 Processing Time.Event Time 和 Ingestion Time. 下面我们一起来看看这几个 Time: Pro ...
- pycharm 更改字体and背景颜色
File-settings-Appearance&Behavior-Appearance-Theme File-settings-Editor-font
- localstorage本地存储的应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- FusionCharts使用JavaScript渲染图表(不用Flash)
FusionCharts可以让用户只使用JavaScript建立图表(而不是使用Flash),只需要添加另一行代码,如下所示: FusionCharts.setCurrentRenderer('jav ...
- 有关 C# 命名参数和可选参数
有关 C# 命名参数和可选参数 #1.命名参数: 所谓“命名参数 ( Named Arguments )”,是指方法中定义了一些“有名字”的参数. 给方法参数命名之后,在调用方法时就可以直接根据参数名 ...
- hihoCoder 挑战赛10 #1144 : 01串
思路:这只是逻辑测试题吧,考虑周全就行了.考虑n=m的情况,n>m的情况,m>n的情况. (1)n>m的情况,0比1多几个都是行的,一共有m个“01”,后面补足够多个零即可. (2) ...
- 平时对ES6的一些总结
1.Genertor中yield和Interator中的next方法 Genertor的yield是把这个函数变成分段的:Interator中的next也是一个一个执行的: function* f() ...