每天解析一个脚本(四)

简介: 【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服务器免费试用参与!

入口:新老同学免费试用

目录
相关文章
|
6月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
525 5
|
6月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
259 7
|
9月前
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
596 3
|
10月前
|
XML Web App开发 数据挖掘
Postman接口测试工具全解析:功能、脚本编写及优缺点探讨
文章详细分析了Postman接口测试工具的功能、脚本编写、使用场景以及优缺点,强调了其在接口自动化测试中的强大能力,同时指出了其在性能分析方面的不足,并建议根据项目需求和个人偏好选择合适的接口测试工具。
355 1
|
10月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
179 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
12月前
|
缓存 监控 安全
深入解析Elasticsearch中脚本原理
深入解析Elasticsearch中脚本原理
|
弹性计算 运维 Shell
每天解析一个shell脚本(75)
【4月更文挑战第28天】shell脚本解析及训练(75)
68 7
|
弹性计算 运维 Shell
每天解析一个shell脚本(76)
【4月更文挑战第28天】shell脚本解析及训练(76)
65 4
|
弹性计算 Shell Apache
每天解析一个shell脚本(78)
【4月更文挑战第28天】shell脚本解析及训练(78)
58 3