shell 脚本常用于自动化执行文件备份与压缩的任务

简介: shell 脚本常用于自动化执行文件备份与压缩的任务

在Linux环境下, shell 脚本常用于自动化执行文件备份与压缩的任务。以下是一个简单的示例,展示如何使用 shell 脚本备份 /etc 目录下的所有内容并压缩至 /root/bak 目录:

#!/bin/bash

# 定义源目录、目标目录和备份文件名(包括日期时间戳)
SOURCE_DIR="/etc"
DEST_DIR="/root/bak"
BACKUP_FILE="etc_backup_$(date +%Y%m%d%H%M%S).tar.gz"

# 执行备份与压缩操作
cd "$SOURCE_DIR" || exit
tar -czf "${DEST_DIR}/${BACKUP_FILE}" .

# 可选:清理过期备份(例如,保留最近7天的备份)
find "${DEST_DIR}/" -name "etc_backup_*.tar.gz" -mtime +7 -exec rm {
   } \;

echo "Backup of /etc completed and compressed to ${DEST_DIR}/${BACKUP_FILE}"

# 如果需要,你可以添加定时任务设置,让此脚本定期运行
# 如在crontab中添加一行类似:
# 0 0 * * * /path/to/your/script.sh

在这个脚本中:

  • tar -czf 命令用于创建一个新的归档文件并对其进行gzip压缩。-c 表示创建新归档文件,-z 表示使用gzip压缩,-f 指定归档文件名。

  • $(date +%Y%m%d%H%M%S) 用于获取当前的日期和时间,并将其包含在备份文件名中,以便追踪备份的时间点。

  • find 命令可用于按时间筛选旧的备份文件并删除,这里假设我们只保留最近7天内的备份。

最后,提醒一句,实际在生产环境中运行此类脚本之前,务必进行充分的测试和验证,确保脚本的安全性和正确性。

目录
相关文章
|
3月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
266 61
|
26天前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
93 32
|
11天前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
78 1
|
2月前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
169 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
2月前
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本
|
3月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
144 7
|
3月前
|
运维 Kubernetes Devops
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
4月前
|
运维 Devops
自动化运维:从脚本到DevOps的进化之旅
在数字化时代,自动化运维不仅是提高生产效率的关键,更是企业竞争力的象征。本文将带领读者穿越自动化运维的发展历程,从最初的脚本编写到现代DevOps文化的形成,揭示这一演变如何重塑IT行业的工作模式。通过具体案例,我们将展示自动化工具和实践如何简化复杂任务,优化流程,并促进团队协作。你将发现,自动化运维不仅关乎技术的进步,更体现了人、流程和技术三者之间协同增效的深层逻辑。
|
SQL Shell Perl
使用shell自动化诊断性能问题(一)(r11笔记第41天)
一直以来要做性能分析的自动化工作,但是久久没有动笔,今天索性来更新一版。 首先我希望得到的一个基本效果就是后台去扫描数据库的DB time,如果超出了阈值,比如这里我设置的为400(即DB time为400%),则会开启自动诊断的任务。
945 0
|
5月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
158 1

热门文章

最新文章