shell脚本实现本地文件与服务器文件同步

所属分类: 脚本专栏 / linux shell 阅读数: 1425
收藏 0 赞 0 分享

为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行shell脚本,输入项目名就能发布到服器上。

1、shell文件代码

#!/bin/sh
read -t 30 -p "请输入项目名:" name
echo -e "\n"
echo "项目名为:$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、关键字解释:

    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脚本实现本地文件与服务器文件同步,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

关于ssh连不上问题的解决方法(必看)

下面小编就为大家带来一篇关于ssh连不上问题的解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ubuntu用户之间相互切换方法(推荐)

下面小编就为大家带来一篇Ubuntu用户之间相互切换方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux 编程之进程fork()详解及实例

这篇文章主要介绍了Linux 编程之进程fork()详解及实例的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈安装ORACLE时在Linux上设置内核参数的含义

下面小编就为大家带来一篇浅谈安装ORACLE时在Linux上设置内核参数的含义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详谈linux中sar的使用方法

下面小编就为大家带来一篇详谈linux中sar的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

设置Linux系统的空闲等待时间TMOUT的方法

下面小编就为大家带来一篇设置Linux系统的空闲等待时间TMOUT的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

关于Linux反空闲设置的两种方法总结

下面小编就为大家带来一篇关于Linux反空闲设置的两种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

linux 查找大目录和大文件的方法(推荐)

下面小编就为大家带来一篇linux 查找大目录和大文件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux makefile 和shell文件相互调用实例详解

这篇文章主要介绍了Linux makefile 和shell文件相互调用实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Windows与Linux共享文件夹互相访问

这篇文章主要介绍了 详解Windows与Linux共享文件夹互相访问的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多