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

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

先奉上脚本

#!/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文件

[duanshao@centos7 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

猜你喜欢

转载自blog.csdn.net/shoajun_5243/article/details/83539069
今日推荐