shell腳本實(shí)現(xiàn)本地文件與服務(wù)器文件同步
為何創(chuàng)建此腳本是因?yàn)榉奖沩?xiàng)目的布署,不需要手動地去同步不同的項(xiàng)目,而只需要簡單的執(zhí)行shell腳本,輸入項(xiàng)目名就能發(fā)布到服器上。
1、shell文件代碼
#!/bin/sh read -t 30 -p "請輸入項(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)程;


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
總結(jié)
以上所述是小編給大家介紹的shell腳本實(shí)現(xiàn)本地文件與服務(wù)器文件同步,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux中的host命令應(yīng)用實(shí)例詳解
這篇文章主要介紹了Linux中的host命令應(yīng)用舉例的相關(guān)資料,需要的朋友可以參考下2017-07-07
Shell腳本查看進(jìn)程內(nèi)存真實(shí)占用情況
這篇文章主要介紹了Shell腳本查看進(jìn)程內(nèi)存真實(shí)占用情況,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
shell查找當(dāng)前目錄下大于1M的文件的三種方法分享
查找當(dāng)前目錄下大于1M的文件的三種方法,有需要的朋友可以參考下2013-02-02
Formatting Long Lines 格式化多行字符的shell腳本
這篇文章主要介紹了Formatting Long Lines 格式化多行字符的shell腳本,需要的朋友可以參考下2016-08-08
linux中文件的三種time(atime,mtime,ctime)的用法
linux下文件有3個(gè)時(shí)間的,分別是atime,mtime,ctime,有些小伙伴對這3個(gè)時(shí)間還是比較迷茫和困惑的,所以小編為大家整理了下,希望對大家有所幫助2023-08-08
linux每天定時(shí)備份數(shù)據(jù)庫并刪除十天前數(shù)據(jù)詳細(xì)步驟
每天定時(shí)備份數(shù)據(jù)庫需要用到Linux的定時(shí)任務(wù),利用Linux的crondtab 命令。下面通過本文給大家?guī)砹薼inux每天定時(shí)備份數(shù)據(jù)庫并刪除十天前數(shù)據(jù)詳細(xì)步驟,感興趣的朋友一起看看吧2018-06-06

