0

0

Linux自动备份脚本示例_Linux编写定时备份方案

冷炫風刃

冷炫風刃

发布时间:2025-12-15 20:10:49

|

557人浏览过

|

来源于php中文网

原创

Linux自动备份脚本核心是tar+rsync+cron三步闭环:本地打包、远程同步、定时执行;关键在路径准确、权限到位、日志留存、清理合理。

linux自动备份脚本示例_linux编写定时备份方案

Linux自动备份脚本的核心是:用 tar + rsync + cron 搭配,实现本地打包、远程同步、定时执行三步闭环。关键不在多,而在稳——路径别写错、权限要到位、日志得留痕。

一、基础备份脚本(带时间戳和日志)

以下是一个常用且安全的本地备份脚本示例(保存为 /opt/scripts/backup.sh):

  • 先确保目标目录存在:mkdir -p /backup
  • 脚本内容(可直接复制使用,记得 chmod +x):
#!/bin/bash
# 备份源目录(按需修改)
SRC_DIR="/var/www/html"
# 备份目标目录
BACKUP_DIR="/backup"
# 生成带日期的压缩包名
DATE=$(date +%Y%m%d_%H%M%S)
ARCHIVE_NAME="web_backup_${DATE}.tar.gz"

# 开始记录日志
echo "[$(date)] 开始备份 ${SRC_DIR}" >> /var/log/backup.log

# 打包并压缩(排除临时文件)
if tar -czf "${BACKUP_DIR}/${ARCHIVE_NAME}" -C "$(dirname "$SRC_DIR")" "$(basename "$SRC_DIR")" --exclude='*.log' --exclude='cache/*' >> /var/log/backup.log 2>&1; then
echo "[$(date)] 备份成功:${ARCHIVE_NAME}" >> /var/log/backup.log
# 可选:只保留最近7天的备份
find "${BACKUP_DIR}" -name "web_backup_*.tar.gz" -mtime +7 -delete
else
echo "[$(date)] 备份失败!" >> /var/log/backup.log
fi

二、加一层rsync推送到远程服务器

如果需要异地容灾,可在脚本末尾追加 rsync 同步(假设已配置好免密SSH):

HaiSnap
HaiSnap

一站式AI应用开发和部署工具

下载
  • 在远程服务器上创建接收目录:mkdir -p /backup/web
  • 在本地脚本中添加(接在 tar 成功之后):
# 推送至远程(替换 user@host:/path)
if rsync -az --delete "${BACKUP_DIR}/${ARCHIVE_NAME}" user@192.168.1.100:/backup/web/ >> /var/log/backup.log 2>&1; then
echo "[$(date)] 已同步至远程服务器" >> /var/log/backup.log
else
echo "[$(date)] 同步失败,请检查网络或SSH密钥" >> /var/log/backup.log
fi

三、用cron设置定时任务

运行 crontab -e,添加一行即可(例如每天凌晨2:30执行):

30 2 * * * /opt/scripts/backup.sh
  • 如需每4小时一次:0 */4 * * * /opt/scripts/backup.sh
  • 务必确认脚本中所有路径用绝对路径(/usr/bin/tar 而非 tar),避免cron环境变量缺失导致失败
  • 测试时可先手动执行:/opt/scripts/backup.sh && tail -n 5 /var/log/backup.log

四、简单但实用的健壮性增强点

  • 检查磁盘空间:在脚本开头加 df -h /backup | awk 'NR==2 {print $5}' | sed 's/%//' | [[ $(cat) -gt 90 ]] && echo "磁盘超90%!跳过备份" && exit 1
  • 锁定机制防重复:用 if [ -f /tmp/backup.lock ]; then exit; else touch /tmp/backup.lock; trap 'rm -f /tmp/backup.lock' EXIT;
  • 邮件通知(需配置mail命令):失败时加一句 echo "备份异常" | mail -s "Backup Alert" admin@example.com

基本上就这些。不复杂但容易忽略的是:路径、权限、日志、清理策略——四项对了,脚本能跑一年不掉链子。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

186

2023.09.27

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

780

2023.08.22

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

276

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

213

2023.12.29

alert怎么实现换行
alert怎么实现换行

alert通过使用br标签来实现换行。更多关于alert相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

492

2023.11.07

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1415

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

706

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

296

2023.06.30

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.1万人学习

Git 教程
Git 教程

共21课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号