学习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

  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值