欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习shell脚本-每天写一个脚本-按照日期创建一个文件或目录

程序员文章站 2022-07-10 08:28:06
...

按照日期创建一个文件或目录

先奉上脚本

#!/bin/bash
#按照时间生成日志文件或日志目录
#定义datetime变量
datetime=`date +%Y%m%d_%H%M%S_%N |cut -b1-20`
date=$(date +%Y%m%d)
#输出datetime
#echo $datetime
#echo $date
#创建文件 使用touch命令
#touch log_${datetime}.log
#创建目录 使用mkdir命令
#首先判断目录是否存在,如果不存在则创建,存在则不再创建
if [ ! -d "./log_${date}" ]
then 
#echo "目录不存在"
mkdir log_$date
fi
#在创建的目录下面创建日志文件
touch ./log_${date}/log_${datetime}.log

利用date命令来获取时间,
用到以下几个选项
%Y表示年
%m表示月
%d表示日
%H表示小时
%M表示分钟
%S表示秒
%N表示纳秒
因为纳秒太小,显示出来会显示很长的数字,故使用cut命令来切割

datetime=`date +%Y%m%d_%H%M%S_%N |cut -b1-20`

cut命令的-b选项表示字符,此处为1-20个字符,datetime字符串比较长,此处取前20个字符

此处目录每天只有一个,所以每次在该目录下创建log文件时,需要先判断一下该目录是否存在,如果不存在该目录,则需要先创建目录,此处用到了if条件判断
判断条件

if [ ! -d "./log_${date}" ]

-d 选项表示目录,即判断该目录下是否存在log_${date}目录

最终效果如下,创建了一个log_20181030的目录,并在该目录下创建log文件

[[email protected] bin]$ ll log_20181030/
总用量 0
-rw-rw-r--. 1 duanshao duanshao 0 10月 30 11:03 log_20181030_110332_6318.log
-rw-rw-r--. 1 duanshao duanshao 0 10月 30 11:03 log_20181030_110335_8914.log

相关标签: shell 脚本