定时备份脚本
场景介绍
运维中有时候需要定时备份一些重要的数据
实验介绍
/opt/data 我们需要定时自动备份这个目录里面的所有数据。
准备脚本
创建备份路径
我们先创建备份的目录
[root@localhost ~]# pwd
/root
[root@localhost ~]# mkdir root/data_bak
准备脚本
- 先将/opt/data这个目录复制到/root/data_bak/里面;
为什么不直接进行将/opt/data
压缩至/root/data_bak/data$(date "+%Y.%m.%d_%H:%M:%S").tar.gz
,是因为我在执行tar的过程中。提示:
tar: 从成员名中删除开头的“/”
这样的警告信息报错。百度查询了好多条,说是tar加上P的参数,就不会提示,但是我没有成功。
-
然后进行打包压缩操作;
-
最后删除临时文件
##! /bin/bash
cp -r /opt/data /root/data_bak/
tar -Pcvf /root/data_bak/data$(date "+%Y.%m.%d_%H:%M:%S").tar.gz /root/data_bak/data
rm -rf /root/data_bak/data/
保存为:opt_data_bakup.sh
定时设置
[root@localhost ~]# chmod 777 opt_data_bakup.sh
[root@localhost ~]# crontab -e #添加定时任务
*/2 * * * * /root/opt_data_bakup.sh #为了测试方便,2分钟执行一次
[root@localhost ~]# crontab -l #查看定时任务
*/2 * * * * /root/opt_data_bakup.sh
###定时任务完成后,会以邮件的形式将执行的日志和过程发送给root
From root@localhost.localdomain Sun Jan 9 16:06:01 2022
Return-Path: <root@localhost.localdomain>
X-Original-To: root
Delivered-To: root@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id D1A021054351; Sun, 9 Jan 2022 16:06:01 +0800 (CST)
From: "(Cron Daemon)" <root@localhost.localdomain>
To: root@localhost.localdomain
Subject: Cron <root@localhost> /root/opt_data_bakup.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=14>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=zh_CN.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20220109080601.D1A021054351@localhost.localdomain>
Date: Sun, 9 Jan 2022 16:06:01 +0800 (CST)
/root/data_bak/data/
/root/data_bak/data/123.txt
###查看执行的结果
[root@localhost ~]# ll ./data_bak/
总用量 96
-rw-r--r-- 1 root root 10240 1月 9 15:55 data2022.01.09_15:55:51.tar.gz
-rw-r--r-- 1 root root 10240 1月 9 15:58 data2022.01.09_15:58:01.tar.gz
-rw-r--r-- 1 root root 10240 1月 9 16:00 data2022.01.09_16:00:01.tar.gz
-rw-r--r-- 1 root root 10240 1月 9 16:02 data2022.01.09_16:02:01.tar.gz
-rw-r--r-- 1 root root 10240 1月 9 16:04 data2022.01.09_16:04:01.tar.gz
-rw-r--r-- 1 root root 10240 1月 9 16:06 data2022.01.09_16:06:01.tar.gz
-rw-r--r-- 1 root root 10240 1月 9 16:08 data2022.01.09_16:08:01.tar.gz