时间:2021-05-22
为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行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.sh3 - crond定时任务,每天晚上00:00:00执行一次
0 0 * * * /var/backup.sh > /dev/null 2>&1总结
以上所述是小编给大家介绍的shell脚本实现本地文件与服务器文件同步,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问:您好,脚本专家!如何将本地文件的修改日期与文件服务器上的副本进行比较,并且,如果本地文件的版本更旧,将其替换为文件服务器上的版本?--DC答:您好,DC。让
Git如何删除远程服务器文件同时保留本地文件在上传工程到git上时,有时候会把本地的一些eclipse配置文件传到服务器上,这时你先删除本地,再同步服务器,显然
本文实例讲述了python实现的文件同步服务器。分享给大家供大家参考。具体实现方法如下:服务端使用asyncore,收到文件后保存到本地。客户端使用pyinot
1、说明 通过文件下载框实现将服务器上的文件下载到本地指定位置。这里需要指定服务器文件路径//服务器文件路径stringstrFilePath=Server.
HTML文件可以包含文本、HTML标签以及脚本。HTML文件中的脚本可以在web服务器上执行。服务器端脚本服务器端脚本是对服务器行为的编程。这被称为服务器端脚本