每天解析一个脚本(四)

简介: 【4月更文挑战第14天】shell脚本解析及训练(四)

在当今数字化时代,运维工作的重要性日益凸显。面对复杂多变的IT环境,高效的自动化工具和脚本成为每一位运维人员提升工作效率、保障系统稳定的关键利器。为了助力广大运维同行在日常工作中更加得心应手,我特此精心整理了一份实用的Shell脚本合集,旨在为大家提供一份“运维人的福利”,以期在繁琐的任务处理与系统管理中,助您一臂之力。

这份脚本集合凝聚了我个人在实际运维工作中积累的经验与智慧,涵盖了诸如服务器监控、故障排查、备份恢复、性能调优、自动化部署等诸多核心场景。每一行代码都经过实战打磨,力求简洁高效,易读易用,旨在适应各种复杂的运维环境,满足不同层次运维需求。无论您是初入运维领域的新人,还是经验丰富的资深专家,都能从中找到适合自己的工具,让繁杂的运维工作化繁为简,事半功倍。

在这里,我诚挚地邀请各位运维同仁随意拿取、自由分享这份Shell脚本资源。它们不仅是您日常工作的得力助手,更是交流学习、提升技能的良好素材。让我们共同携手,借助科技的力量,驱动运维工作的智能化、自动化进程,为构建稳定、高效的信息系统保驾护航。

今天我们要分析的是:

备份当前日期文件

#!/bin/bash

#一月前

historyTime=$(date "+%Y-%m-%d %H" -d '1 month ago')

echo ${historyTime}

historyTimeStamp=$(date -d "$historyTime" +%s)

echo ${historyTimeStamp}

#一周前

$(date "+%Y-%m-%d %H" -d '7 day ago')

#本月一月一日

date_this_month=`date +%Y%m01`

#一天前

date_today=`date -d '1 day ago' +%Y%m%d`

#一小时前

$(date "+%Y-%m-%d %H" -d '-1 hours')

脚本实现过程与使用方法:

  1. 一月前的日期和时间:
  • 使用date命令结合-d选项指定偏移量为1 month ago,即一个月前。
  • 通过"+%Y-%m-%d %H"格式化字符串输出年-月-日 时的格式。
  • 将结果存储在变量historyTime中并打印。
  1. 一月前的时间戳:
  • 使用date -d "$historyTime"将之前获取的一月前的日期时间字符串作为参数重新解析。
  • 通过+%s格式化字符串输出对应的Unix时间戳(秒)。
  • 存储在变量historyTimeStamp中并打印。
  1. 一周前的日期和时间:
  • 类似一月前的日期,这里使用-d '7 days ago'指定偏移量为7天前。
  • 同样使用"+%Y-%m-%d %H"格式化字符串输出年-月-日 时。
  • 存储在变量oneWeekAgo中并打印。
  1. 本月的第一天:
  • 直接使用date +%Y%m01格式化字符串,输出当前年月(如202404)加上第一天(01)。
  • 这样就得到了如20240401这样的本月第一天日期,存储在变量date_this_month中并打印。
  1. 一天前的日期:
  • 使用date -d '1 day ago' +%Y%m%d指定偏移量为一天前,并以%Y%m%d格式输出年月日。
  • 存储在变量date_yesterday中并打印。
  1. 一小时前的日期和时间:
  • 使用date "+%Y-%m-%d %H" -d '-1 hour'指定偏移量为一小时前,采用相同的日期时间格式输出。
  • 存储在变量oneHourAgo中并打印。

如何使用:

这段脚本本身是一个完整的示例,可以直接运行以查看结果。若要将其中的日期时间计算应用到其他脚本或命令中,可直接引用相应的变量(如$historyTime$historyTimeStamp等),或者复制对应date命令的片段并根据需要调整偏移量和格式化字符串。

例如,如果你需要在备份脚本中备份一月前的某个特定时刻的文件,可以使用类似以下命令:

Bash

1cp -r /path/to/source "${historyTime}_backup"

这样,备份文件夹的名称就会包含一月前的具体日期和时间。同样,其他变量可以被用于文件名、日志记录、条件判断等多种用途。

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口:新老同学免费试用

目录
相关文章
|
15天前
|
弹性计算 运维 监控
每天解析一个脚本(53)
【4月更文挑战第26天】shell脚本解析及训练(53)
30 5
|
15天前
|
存储 弹性计算 运维
每天解析一个脚本(25)
【4月更文挑战第22天】shell脚本解析及训练(25)
33 0
|
15天前
|
存储 运维 Shell
每天解析一个脚本(16)
【4月更文挑战第20天】shell脚本解析及训练(16)
25 2
|
15天前
|
存储 运维 监控
每天解析一个脚本(15)
【4月更文挑战第19天】shell脚本解析及训练(15)
95 1
|
15天前
|
弹性计算 运维 Shell
每天解析一个shell脚本(82)
【4月更文挑战第28天】shell脚本解析及训练(82)
10 1
|
15天前
|
弹性计算 运维 Shell
每天解析一个shell脚本(68)
【4月更文挑战第28天】shell脚本解析及训练(68)
8 0
|
15天前
|
弹性计算 运维 Shell
每天解析一个shell脚本(61)
【4月更文挑战第26天】shell脚本解析及训练(61)
21 3
|
15天前
|
弹性计算 运维 Shell
每天解析一个shell脚本(58)
【4月更文挑战第26天】shell脚本解析及训练(58)
104 0
|
15天前
|
弹性计算 Shell 数据安全/隐私保护
每天解析一个shell脚本(56)
【4月更文挑战第26天】shell脚本解析及训练(56)
20 0
|
15天前
|
弹性计算 运维 监控
每天解析一个脚本(52)
【4月更文挑战第26天】shell脚本解析及训练(52)
31 3

推荐镜像

更多