好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > linux批量備份服務器配置文件和目錄的腳本

linux批量備份服務器配置文件和目錄的腳本

熱門標簽:華鋒e路航港口地圖標注 如果做線上地圖標注 百度地圖標注錯了有責任嗎 河南信譽好的不封卡電話外呼系統 江蘇云電銷機器人公司 地圖標注員都是年輕人 揭陽智能電話機器人推薦 打電話機器人接我是他的秘書 客服外呼系統怎么樣

功能:
1. 只在備份機執行,遠程的服務器只需要允許備份機用root通過密鑰登錄;
2. 在備份機上配置需要備份哪些服務器,在NEED_BACKUP_SERVERS這個數組增減;
3. 在備份機上配置需要備份服務器上哪些文件,在NEED_BACKUP_DETAIL這個數組增減,如果需要備份某臺服務器上NEED_BACKUP_DETAIL數組里定義的某個文件就備份,不存在的文件則自動跳過,例如Web服務器上沒my.cnf , 也沒有影響;
4. 如果服務器上產生的新備份和已經存在已往備份內容一樣則只保留時間較早的備份。因為服務器的配置文件不是經常改動的;
5. 通過修改定義KEEP_BACKUP_NUM為個變量,可以決定遠程服務器上保留最近多少份備份,我這里定義的是10份。備份機上保留所有遠程服務器的備份。因為配置文件都比較小,不用擔心磁盤空間占用問題。

用過下列技術:
1. 獲取遠程服務器IP,如果某臺服務器沒有公網IP則使用該服務器的“主機名_IP.備份年月日_備份時間.tar.gz
2. 通過循環、判斷,對數組中的元素重新賦值;

下載之后請留意版本號和更新日志。

復制代碼 代碼如下:

#!/bin/bash
##################################################################
# Backup_Config_Files_Of_Remote_Servers
# Env: Centos 5.5 x86_64
# Created by Hernan on 2011-04-06
# Copyright 2010 __Chengyongxu.com__. All rights reserved.
#
# Version: 1.4.6
# Revision History
##################################################################

# Local Tmp Dir Of This Script
THIS_SCRIPT_TMP=/tmp/Do_at_remote_server.sh
THIS_SCRIPT_TMP_NAME=`echo $THIS_SCRIPT_TMP|awk -F/ '{print $NF}'`
# Local Backup Dir
LOCAL_BACKUP_DIR=/tmp/IDC_config_backup

# Need Backup Servers And Files List
REMOTE_SERVER_TMP_DIR=/tmp/Backup_server_config_files_tmp
NEED_BACKUP_SERVERS=(\
10.0.0.52
server_a_ip \
server_b_ip \
server_c_ip \
server_d_ip \
chengyongxu.com \
)
NEED_BACKUP_DETAIL=(\
/etc/hosts \
/etc/httpd/conf/*.conf \
/etc/httpd/conf.d/*.conf \
/etc/keepalived/keepalived.conf
/etc/my.cnf \
/etc/postfix \
/root/bin/*sh \
/usr/local/nagios/etc/nagios.cfg \
/usr/local/nagios/etc/objects/*cfg \
/usr/local/nginx/conf \
/usr/local/php/etc/php.ini \
/usr/local/php/etc/php-fpm.conf \
/usr/local/php-fcgi/etc/php.ini \
/usr/local/php-fcgi/etc/php-fpm.conf \
/usr/local/sphinx/etc/*.conf \
/var/spool/cron \
)
KEEP_BACKUP_NUM=10

SSH_PORT=22
SSH_USER=root

##################################################################
#
# Global Functions
#
##################################################################

#========= !!!! Warning ! Don't edit next function !!!! =========#
# Create Script Tmp File
Create_Script (){
cat EOF > $THIS_SCRIPT_TMP
#!/bin/bash

NEED_BACKUP_DETAIL=(${NEED_BACKUP_DETAIL[*]})

# How many nums the backup needed
BAKNUM=$KEEP_BACKUP_NUM

REMOTE_SERVER_TMP_DIR=$REMOTE_SERVER_TMP_DIR
SERVER_IP=\`/sbin/ifconfig|grep "inet addr"|cut -f 2 -d ":"|cut -f 1 -d " "|grep -vE "^10.|^127|^172.16|^192.168"\`
BACKUP_TIME=\`date +%Y%m%d_%H%M\`

##################################################################
#
# Compress NEED_BACKUP_DETAIL
#
##################################################################
# If IPv4 private address only, use hostname.ip
if [ -z \$SERVER_IP ]
then
    SERVER_IP=\`hostname\`_\`/sbin/ifconfig|grep "inet addr"|cut -f 2 -d ":"|cut -f 1 -d " "|grep -vE "^127"|head -n 1\`
fi

# Create Tpm dir
if [ ! -d \$REMOTE_SERVER_TMP_DIR ]
then
    mkdir -p \$REMOTE_SERVER_TMP_DIR
fi

# Compress
for file in \${NEED_BACKUP_DETAIL[*]}
do
    # When you want to backup the file exists,
    #   assign to an element of the new array
    while [ -e \$file ]
    do
        NEED_BACKUP_DETAIL_EXISTS[\$num]=\$file
        let num++
    break
    done
done
tar zcfpP \$REMOTE_SERVER_TMP_DIR/\$SERVER_IP.\$BACKUP_TIME.tar.gz \${NEED_BACKUP_DETAIL_EXISTS[*]}

##################################################################
#
# If files are the same,keep one only
#
##################################################################
NEW_BACKUP_ARCHIVE_CONTENT=\`tar tvf \$REMOTE_SERVER_TMP_DIR/\$SERVER_IP.\$BACKUP_TIME.tar.gz\`
for backfile in \`ls \$REMOTE_SERVER_TMP_DIR | grep tar.gz |grep -v \$SERVER_IP.\$BACKUP_TIME\`
do
    OLD_BACKUP_ARCHIVE_CONTENT=\`tar tvf \$REMOTE_SERVER_TMP_DIR/\$backfile\`
    while [ "\$NEW_BACKUP_ARCHIVE_CONTENT" = "\$OLD_BACKUP_ARCHIVE_CONTENT" ]
    do
        rm -rvf \$REMOTE_SERVER_TMP_DIR/\$SERVER_IP.\$BACKUP_TIME.tar.gz 1 >> \$REMOTE_SERVER_TMP_DIR/delete_new.log
    break
    done
done

##################################################################
#
# Keep Some Backup Files Newest
#
##################################################################
count=0
for name in \`ls \$BAKPATH/ |grep -E '[0-9]{6,6}' | sort -r\`
do
  count=\$((count+1))
  if [ \$count -gt \$BAKNUM ] ; then
    echo -n "Cleaning old backup: \$name... "
      if [ "\$BAKPATH/\$name" = "/" ] ; then
        echo "No rm -rf /!"
        exit 1
      fi
      rm -rf \$BAKPATH/\$name
    echo " Done."
  else
    echo "Keeping old backup: \$name"
  fi
done
exit
EOF
}

Copy_Script_To_Remote (){
for server in ${NEED_BACKUP_SERVERS[*]}
do
ssh -p $SSH_PORT -tt $SSH_USER@$server EOT
mkdir -p $REMOTE_SERVER_TMP_DIR
exit
EOT
scp -P $SSH_PORT $THIS_SCRIPT_TMP $SSH_USER@$server:$REMOTE_SERVER_TMP_DIR/
done
}

Backup_On_Remote_Then_Copy_Back (){
for server in ${NEED_BACKUP_SERVERS[*]}
do
ssh -p $SSH_PORT -tt $SSH_USER@$server EOP
chmod o+x $REMOTE_SERVER_TMP_DIR/$THIS_SCRIPT_TMP_NAME
sh $REMOTE_SERVER_TMP_DIR/$THIS_SCRIPT_TMP_NAME
rm -f $REMOTE_SERVER_TMP_DIR/$THIS_SCRIPT_TMP_NAME
exit
EOP
rsync -e "ssh -p $SSH_PORT" $SSH_USER@$server:$REMOTE_SERVER_TMP_DIR/*tar.gz $LOCAL_BACKUP_DIR/
done
}

##################################################################
#
# Main
#
##################################################################
#
Create_Script
Copy_Script_To_Remote
Backup_On_Remote_Then_Copy_Back
rm -rf $THIS_SCRIPT_TMP

您可能感興趣的文章:
  • 簡析Linux中如何改變文件或目錄的訪問權限
  • linux find下如何統計一個目錄下的文件個數以及代碼總行數的命令
  • Linux 用cp和rsync同步文件時跳過指定目錄的方法
  • 解析linux 文件和目錄操作的相關函數
  • linux修改目錄和文件權限的簡單命令解釋
  • 一個監控LINUX目錄和文件變化的Shell腳本分享
  • Linux下統計當前文件夾下的文件個數、目錄個數
  • Linux中文件權限目錄權限的意義及權限對文件目錄的意義

標簽:金昌 淘寶邀評 巴彥淖爾 婁底 許昌 邵陽 赤峰 馬鞍山

巨人網絡通訊聲明:本文標題《linux批量備份服務器配置文件和目錄的腳本》,本文關鍵詞  linux,批量,備份,服務器,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux批量備份服務器配置文件和目錄的腳本》相關的同類信息!
  • 本頁收集關于linux批量備份服務器配置文件和目錄的腳本的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: **aaaa**毛片在线播放| 男人把Ji大巴放进女人免费视频 | 青青草国产精品免费| free性中国婬妇xXXX视频| 人与善xuanwen在线400| 少妇高潮a 6 2v久久A片免| 91色噜噜狠狠色婷婷韩国一区| 涩涩视频在线看| 用力别停我要我受不了了视频| 9420高清完整版在线观看1| 午夜精品久久久久久中宇| 农村岳的屁股又大又肥| 国产极品白嫩精品月间禁欲| 日本熟妇vs黑人巨大XXXXX| 狂护士gif动态图片动态| 给个黄色网址| 久久久久久久夂夂女女女又又又被| 高辣h奶汁| 美女光屁股网站| 大尺度到肉黄文多p| 家庭理论电线2023| 欧美a级影院| 久草视频这里只有精品| 荒岛艳遇H版| 嗯嗯啊啊疼| HEZYO国产精品无码| 亚洲人成中文字幕在线观看| 久久91视频| 无码精品少妇一区二区三区蜜桃| 91精品国产亚洲Av高清小黄文| 高跟鞋艳妇做爰视频免费网页 | 国产午夜成人福利在线观看蜜芽| 欧美换爱交换乱理伦片禁忌| 污视频在线观看网站| semm亚洲欧美在线高清| 又黄又爽 无遮挡动漫版视频| 国产~aaaaa熟sao妇视频| 黄色直播软件| 天天射日日操| 亚洲Av欧美αⅴ在线| 农村寡妇毛片免费看cciiyycom|