收藏本站 收藏本站
積木網首頁 - 軟件測試 - 常用手冊 - 站長工具 - 技術社區
首頁 > shell編程 > 正文

首頁 - PHP - 數據庫 - 操作系統 - 游戲開發 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell編程 - DOS命令 - jQuery - CSS樣式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

shell腳本實現本地文件與服務器文件同步

為何創建此腳本是因為方便項目的布署,不需要手動地去同步不同的項目,而只需要簡單的執行shell腳本,輸入項目名就能發布到服器上。

1、shell文件代碼

#!/bin/sh
read -t 30 -p "請輸入項目名:" name
echo -e "n"
echo "項目名為:$name"
case $name in
   cn)
   rsync -r ~/project1 [email protected]:/project1 --exclude="test.css" --progress
   ;;
   cnb2b)
   rsync -r ~/project2 [email protected]:/web/project2 --exclude="node_modules" --progress
   ;;
   *)
   echo "Ignorant"
   ;;
 esac
 echo "同步完成"

2、關鍵字解釋:

name表示要同步的文件名

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

--progress 顯示文件同步進程

3、文件新建并保存

  將文件保存為name.sh

  使用. name.sh執行文件

4、具體進程;

查看圖片

查看圖片

PS:shell腳本備份本地服務器的文件到遠程服務器

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

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 - 修改屬性為可執行

chmod 755 backup.sh 

3 - crond定時任務,每天晚上00:00:00執行一次

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

總結

以上所述是小編給大家介紹的shell腳本實現本地文件與服務器文件同步,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對積木網網站的支持!

詳解Linux中兩個查找命令locate和find教程
Linux中有很多查找命令,今天主要講解locate,find兩個命令。1.locatelocate命令其實是find-name的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目

淺談CI腳本異常退出問題定位
背景在CI腳本中,使用類似如下腳本進行項目編譯的計時,但在執行過程中,有時會出現CI腳本(命名為ci.sh)未完全執行的情況:#!/bin/bash-esleep_time=$1start_t

Linux查找處理文件名后包含空格的文件(兩種方法)
當Linux下文件名中出現空格這類特殊情況話,如何查找或確認那些文件名后有空格呢?又怎么批量替換處理掉這些空格呢?方法1:輸入文件名后使用Tab

本周排行

更新排行

強悍的草根IT技術社區,這里應該有您想要的! 友情鏈接:b2b電子商務
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP備05050695號
手游棋牌游戏运营
新疆时时查看中奖 时时走势图老时时 大乐秀开奖结果查询今晚 体彩20选5开奖结果彩票2元网 精准三肖平特 急速飞艇急速赛车计划 香港马会特走势图 生肖开奖结果走势图 云南时时中奖规则 云南快乐十分破解器 广西快三开奖结果今 广西选号福利助手 河南快三计划推荐 黑龙江p62开奖结果 3b今晚开奖号走势图 天津快乐十分500期开奖结果