前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每日生成一个固定日期格式的文件,并将磁盘的使用情况记录到文件中

每日生成一个固定日期格式的文件,并将磁盘的使用情况记录到文件中

作者头像
运维小白
发布2022-01-06 14:09:48
9010
发布2022-01-06 14:09:48
举报
文章被收录于专栏:运维小白运维小白
  • 要求:
    • 按照(xxxx-xx-xx)这样的日期格式每日生成一个文件,比如今天生成的文件为2018-2-7.log,并且把磁盘的使用情况写到这个文件中(不考虑cron,仅仅写脚本)
  • 需求分析
    • 这个脚本中有两点,一是按照日期的格式来生成文件
    • 二是把磁盘的使用情况写到这个文件中
  • 实现
  • 日期文件格式为(xxxx-xx-xx),两种方法实现,date命令笔记
  • date +%F
  • date +%Y-%m-%d
代码语言:javascript
复制
[root@hf-01 ~]# date +%F
2018-02-07

[root@hf-01 ~]# date +%Y-%m-%d
2018-02-07
  1. 查看磁盘使用情况,df命令笔记
  2. df 命令查看磁盘使用情况
    • -h可以适当的使用单位,来显示磁盘使用情况
代码语言:javascript
复制
[root@hf-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  6.5G   12G   37% /
devtmpfs        488M     0  488M    0% /dev
tmpfs           494M     0  494M    0% /dev/shm
tmpfs           494M  6.7M  487M    2% /run
tmpfs           494M     0  494M    0% /sys/fs/cgroup
/dev/sda1       197M   75M  122M   39% /boot
tmpfs            99M     0   99M    0% /run/user/0
[root@hf-01 ~]# 

脚本

代码语言:javascript
复制
[root@hf-01 hanfeng]# vim 01.sh
[root@hf-01 hanfeng]# cat 01.sh
#! /bin/bash
d=`date +%F`
logfile=$d.log
df -h >$logfile
[root@hf-01 hanfeng]# sh -x 01.sh
++ date +%F
+ d=2018-02-07
+ logfile=2018-02-07.log
+ df -h
[root@hf-01 hanfeng]# ls
01.sh  2018-02-07.log
[root@hf-01 hanfeng]# cat 2018-02-07.log 
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  6.5G   12G   37% /
devtmpfs        488M     0  488M    0% /dev
tmpfs           494M     0  494M    0% /dev/shm
tmpfs           494M  6.7M  487M    2% /run
tmpfs           494M     0  494M    0% /sys/fs/cgroup
/dev/sda1       197M   75M  122M   39% /boot
tmpfs            99M     0   99M    0% /run/user/0
[root@hf-01 hanfeng]# 
  • 会看到当前目录下,生成了2018-02.07.log的日志文件,并且这个日志文件中记录了是磁盘的使用情况

扩展

  1. shell脚本中反引号可以表示为一个命令的结果,通常给变量赋值(PS:注意在赋值等于号两边不要有空空格,否则会报错,比如 n=wc -l /etc/passwd ,但若是n= wc -l /etc/passwd就会报错)
代码语言:javascript
复制
[root@hf-01 hanfeng]# n=`wc -l /etc/passwd |awk '{print $1}'`
[root@hf-01 hanfeng]# echo $n
23
[root@hf-01 hanfeng]# 
  1. 符号 > 为正确重定向,在运行一条命令的时候,会有正确和错误的输出信息,>会把正确的输出信息输入到指定文件里,而 2> 会把错误的信息写入到指定文件里

小练习

  • 需求
    • 每日生成一个固定日期格式的文件,并将根目录下的所有文件名记录到文件中
代码语言:javascript
复制
[root@hf-01 shell]# cat 001.sh
#! /bin/bash
d=`date +%F`
wenjian=$d.log
ls -l / > $wenjian
echo "$wenjian" > /tmp/log
[root@hf-01 shell]# sh -x 001.sh
++ date +%F
+ d=2018-02-08
+ wenjian=2018-02-08.log
+ ls -l /
+ echo 2018-02-08.log
[root@hf-01 shell]# 

改良版本

代码语言:javascript
复制
#/bin/bash
read  -p "请输入目录路径:"  a
if  [  !  -d  $a ]
then
echo "$a不是目录"
else
d=`date +%F`
ls -l  $a > /tmp/$d.log
echo "$a是目录"
fi
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/02/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 脚本
  • 扩展
    • 小练习
      • 改良版本
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档