虚位以待(AD)
虚位以待(AD)
首页 > 脚本专栏 > linux shell > shell脚本实现本地文件与服务器文件同步

shell脚本实现本地文件与服务器文件同步
类别:linux shell   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了本地文件与服务器文件同步shell脚本的方法,然后在文章给大家补充介绍了shell脚本备份本地服务器的文件到远程服务器的实例代码,需要的朋友可以参考下

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

1、shell文件代码

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

您可能感兴趣的文章:

  • Shell脚本实现线上服务器之间对比文件是否一致
  • Shell脚本实现上传zip压缩文件到FTP服务器
  • Shell脚本实现复制文件到多台服务器的代码分享
相关热词搜索: 本地文件 服务器文件 shell