溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell腳本如何實(shí)現(xiàn)本地文件與服務(wù)器文件同步

發(fā)布時(shí)間:2021-06-25 11:42:37 來源:億速云 閱讀:413 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)shell腳本如何實(shí)現(xiàn)本地文件與服務(wù)器文件同步,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

為何創(chuàng)建此腳本是因?yàn)榉奖沩?xiàng)目的布署,不需要手動(dòng)地去同步不同的項(xiàng)目,而只需要簡(jiǎn)單的執(zhí)行shell腳本,輸入項(xiàng)目名就能發(fā)布到服器上。

1、shell文件代碼

#!/bin/sh
read -t 30 -p "請(qǐng)輸入項(xiàng)目名:" name
echo -e "\n"
echo "項(xiàng)目名為:$name"
case $name in
   cn)
   rsync -r ~/project1 root@192.168.18.2:/project1 --exclude="test.css" --progress
   ;;
   cnb2b)
   rsync -r ~/project2 root@192.168.18.2:/web/project2 --exclude="node_modules" --progress
   ;;
   *)
   echo "Ignorant"
   ;;
 esac
 echo "同步完成"

2、關(guān)鍵字解釋:

    name表示要同步的文件名

    --exculde="node_modules"表示過濾的文件夾

    --progress 顯示文件同步進(jìn)程

 3、文件新建并保存

  將文件保存為name.sh

  使用. name.sh執(zhí)行文件

 4、具體進(jìn)程;

shell腳本如何實(shí)現(xiàn)本地文件與服務(wù)器文件同步

shell腳本如何實(shí)現(xiàn)本地文件與服務(wù)器文件同步

PS:shell腳本備份本地服務(wù)器的文件到遠(yuǎn)程服務(wù)器

遍歷本地文件夾下的所有文件名,分別壓縮后ftp傳送到遠(yuǎn)程服務(wù)器上保存

1 - 新建 backup.sh,寫入腳本

#!/bin/bash  
local_ip=$(ifconfig | grep "inet addr" | grep -v 127.0.0.1 | awk '{print $2}' | awk -F ':' '{print $2}') 
backup_dir="/var/web_backup/data" 
date=`date +%Y%m%d` 
deldate=`date -d -14day +%Y%m%d` 
mkdir -p $backup_dir 
web_path="/mysite" 
web_dir=$(ls -l /mysite/ |awk '/^d/ {print $NF}') 
for web_name in $web_dir 
do 
    if [ "$web_name" != "lost+found" ] 
    then 
    tar zcvf $backup_dir/$web_name.dump_$date.tar.gz $web_path/$web_name 
    fi 
done 
ftp -n<<! 
open 10.XX.XX.XX 
user ftpuser ****** 
binary 
hash 
cd backups/web/$local_ip/ 
lcd /var/web_backup/data 
prompt 
mput *.tar.gz 
close 
bye 
! 
rm -rf $backup_dir/*

2 - 修改屬性為可執(zhí)行

chmod 755 backup.sh

3 - crond定時(shí)任務(wù),每天晚上00:00:00執(zhí)行一次

0 0 * * * /var/backup.sh > /dev/null 2>&1

關(guān)于“shell腳本如何實(shí)現(xiàn)本地文件與服務(wù)器文件同步”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI