欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

 更新時(shí)間:2022年10月13日 09:17:37   作者:Mrwhite86  
數(shù)據(jù)備份的意義就在于,當(dāng)受到網(wǎng)絡(luò)攻擊、入侵、電源故障或者操作失誤等事故的發(fā)生后,可以完整、快速、簡(jiǎn)捷、可靠地恢復(fù)原有系統(tǒng)。本文為大家準(zhǔn)備了文件定期本地備份/異地備份/刪除備份的腳本,希望對(duì)你們有所幫助

一.背景

1.總會(huì)出出現(xiàn)環(huán)境上的數(shù)據(jù)丟失,在沒有備份的情況下會(huì)非常的被動(dòng),不管是由于病毒還是人為的原因造成的程序、數(shù)據(jù)被刪除,有時(shí)候后悔已經(jīng)來不及,不如提前做到數(shù)據(jù)的備份,而異地備份也更加的保險(xiǎn)一點(diǎn)。

2.數(shù)據(jù)備份的意義就在于,當(dāng)受到網(wǎng)絡(luò)攻擊、入侵、電源故障或者操作失誤等事故的發(fā)生后,可以完整、快速、簡(jiǎn)捷、可靠地恢復(fù)原有系統(tǒng),在一定的范圍內(nèi)保障系統(tǒng)的正常運(yùn)行。

二.依賴功能介紹

1.expect

作用:expect工具是一個(gè)根據(jù)腳本與其他交互式程序進(jìn)行交互

安裝語(yǔ)句:yum install expect

參考文檔:Linux之expect操作詳解

2.cron

作用:可以根據(jù)配置文件約定的時(shí)間來執(zhí)行特定的任務(wù)

參考文檔:

Linux Crontab 定時(shí)任務(wù)

cron表達(dá)式

3.liunx的三個(gè)時(shí)間atime,mtime,ctime

作用:定期刪除備份時(shí)一般備份文件的mtime來進(jìn)行刪除

參考文檔:詳解Linux中atime,mtime,ctime的使用場(chǎng)景

三.本地備份腳本

1.本地備份命令測(cè)試

mkdir -p /root/backup/`date "+%Y-%m-%d"`
tar -zcvPf /root/backup/`date "+%Y-%m-%d"`/test20221009.tar.gz /root/test20221009

2.封裝shell腳本:compress_backup.sh

#!/bin/bash
source_folder=/root/test20221009
backup_folder=/root/backup/`date "+%Y-%m-%d"`
source_folder_name=`echo $source_folder |awk -F "/" '{print $3}'`.tar.gz
echo "source_folder:$source_folder"
echo "backup_folder: $backup_folder"
echo "source_folder_name: $source_folder_name"

#新建立文件夾
mkdir -p /root/backup/`date "+%Y-%m-%d"`
#壓縮命令
tar -zcvPf $backup_folder/$source_folder_name  $source_folder
echo "$source_folder_name文件備份成功"

3.加入crond定時(shí)任務(wù)并將輸出與錯(cuò)誤重定向至文件

編輯添加crond定時(shí)任務(wù)列表

crontab -e

設(shè)置每天00:00執(zhí)行一次備份任務(wù),并將標(biāo)準(zhǔn)輸出與標(biāo)準(zhǔn)錯(cuò)誤重定向至日志文件

0 0 * * * sh /root/backup/compress_backup.sh 2>&1 > /root/backup/log_$(date +\%Y-\%m-\%d)

測(cè)試查看任務(wù)執(zhí)行情況:

tail -5 /var/log/cron

查看備份文件與本地日志正確生成

四.異地備份腳本

1.異地備份命令測(cè)試:

scp -C -r /root/backup/2022-10-10/ mrswhite@192.168.37.9:/root/back_up_offsite

提示輸入密碼后進(jìn)行備份

查看對(duì)端文件備份成功

2.封裝expect腳本offsite_backup.expect,當(dāng)提示輸入密碼時(shí)可自動(dòng)對(duì)應(yīng)輸入密碼

#!/usr/bin/expect -f
# 獲取當(dāng)前日期 例如:2022-10-12

set date [ clock format [ clock seconds ] -format "%Y-%m-%d" ]

# 傳輸用戶名
set username mrswhite
# 對(duì)端hostIP地址
set host 192.168.37.9
# 密碼
set password test20221012
#設(shè)置本地傳輸路徑-前綴
set source_folder /root/backup
#設(shè)置兌換傳輸路徑
set backup_folder /root/back_up_offsite


#  expect默認(rèn)timeout為30S  超過30s未傳輸完會(huì)停止,設(shè)置為 -1 則不限制超時(shí)時(shí)間
set timeout -1

#                    壓縮  遞歸   本地絕對(duì)路徑           用戶名   目標(biāo)IP   目標(biāo)路徑
 spawn  /usr/bin/scp  -C   -r    $source_folder/$date/   $username@$host:$backup_folder

expect  {
"*yes/no" {send "yes\r";exp_continue}
"*password:" {send "$password\r"}
}

expect eof

運(yùn)行后查詢結(jié)果,已實(shí)現(xiàn)了無(wú)人值守備份的功能

查看異地文件已生成:

3.加入crond定時(shí)任務(wù)并將輸出與錯(cuò)誤重定向至文件

crontab -e

設(shè)置每天02:00執(zhí)行一次異地備份任務(wù),(給本地備份充足的時(shí)間預(yù)留)并將標(biāo)準(zhǔn)輸出與標(biāo)準(zhǔn)錯(cuò)誤重定向至日志文件

0 1 * * * expect /root/backup/offsite_backup.expect 2>&1 >  /root/backup/offsite_log_$(date +\%Y-\%m-\%d)

修改系統(tǒng)時(shí)間,重啟crond服務(wù)等待定時(shí)任務(wù)的執(zhí)行,并查詢?nèi)罩荆?/p>

date -s "2022-10-10 00:59:50"
service crond restart
tail -5 /var/log/cron

檢查異地文件備份成功:

五.定期刪除備份

1.定期刪除命令測(cè)試:

find /root/backup/ -mtime +180 | xargs rm -rf {}  #刪除180天前的文件與文件夾的信息

2.封裝shell腳本delete_expire_backupfile.sh,清理的目錄與過期時(shí)間可配置

#!/bin/bash

#待清除目錄
dir=/root/backup/
#文件的過期周期
day_expireDay=10

#刪除最終為day_expireDay前的備份文件與文件夾信息
find $dir -mtime +$day_expireDay | xargs rm -rf {}
echo "$dir下的$day_expireDay天前的文件清理成功"

查看文件清理效果如下:

3.加入crond定時(shí)任務(wù)并將輸出與錯(cuò)誤重定向至文件

crontab -e

設(shè)置每天00:00執(zhí)行一次異地備份任務(wù),并將標(biāo)準(zhǔn)輸出與標(biāo)準(zhǔn)錯(cuò)誤重定向至日志文件

0 0 * * * sh /root/backup/delete_expire_backupfile.sh 2>&1 >  /root/backup/delete_log__$(date +\%Y-\%m-\%d)

修改系統(tǒng)時(shí)間,重啟crond服務(wù)等待定時(shí)任務(wù)的執(zhí)行,并查詢?nèi)罩?,文件已清理成?/p>

date -s "2022-10-12 23:59:50"
service crond restart
tail -5 /var/log/cron

六.github腳本地址

github地址

到此這篇關(guān)于Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本的文章就介紹到這了,更多相關(guān)Linux文件定期備份內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux下防火墻開啟某個(gè)端口號(hào)及防火墻常用命令使用(詳解)

    linux下防火墻開啟某個(gè)端口號(hào)及防火墻常用命令使用(詳解)

    下面小編就為大家?guī)硪黄猯inux下防火墻開啟某個(gè)端口號(hào)及防火墻常用命令使用(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法

    shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法

    這篇文章主要介紹了shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Linux中多線程詳解及簡(jiǎn)單實(shí)例

    Linux中多線程詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Linux中多線程詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,這里對(duì)線程概念及優(yōu)缺點(diǎn)做了詳細(xì)介紹并說明如何創(chuàng)建和應(yīng)用,需要的朋友可以參考下
    2017-07-07
  • 詳解Linux解壓縮文件

    詳解Linux解壓縮文件

    這篇文章給大家介紹了Linux解壓縮文件的命令,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-05-05
  • shell腳本中case條件控制語(yǔ)句的一個(gè)bug分析

    shell腳本中case條件控制語(yǔ)句的一個(gè)bug分析

    在shell腳本中,發(fā)現(xiàn)case語(yǔ)句的一個(gè)問題。就是指定小寫字母[a-z]和大寫字母[A-Z]的這種方法不管用了
    2013-11-11
  • Linux中rpm命令用法詳解

    Linux中rpm命令用法詳解

    rpm命令是用于在基于RPM包管理系統(tǒng)的Linux發(fā)行版中安裝、查詢、升級(jí)和刪除軟件包的命令行工具,本文講給大家詳細(xì)的介紹一下Linux?rpm命令的使用方法,感興趣的同學(xué)跟著小編一起來看看吧
    2023-08-08
  • shell 基本計(jì)算、邏輯運(yùn)算、位運(yùn)算詳解

    shell 基本計(jì)算、邏輯運(yùn)算、位運(yùn)算詳解

    Shell 提供大量的基本運(yùn)算操作,在腳本中非常有用。Shell 對(duì)您提供的算術(shù)表達(dá)式求值,執(zhí)行運(yùn)算展開式,此時(shí)使用得出的結(jié)果替換表達(dá)式
    2012-09-09
  • bash shell和dash shell的區(qū)別詳解

    bash shell和dash shell的區(qū)別詳解

    本文主要介紹了bash shell和dash shell的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼

    Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼

    這篇文章主要介紹了Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • linux shell判斷字符串為空的正確方法示例

    linux shell判斷字符串為空的正確方法示例

    這篇文章主要給大家介紹了關(guān)于linux shell判斷字符串為空的正確方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux shell具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論