Shell中使用scp命令实现文件上传代码
程序员文章站
2023-09-03 12:26:12
自从法现 ssh 可以执行远端命令后,ftp 软件也渐渐很少用了。
每次更新服务器代码,都要打包、上传、登录到服务器修改文件权限、更新 cache 等等,又慢又容易出错,...
自从法现 ssh 可以执行远端命令后,ftp 软件也渐渐很少用了。
每次更新服务器代码,都要打包、上传、登录到服务器修改文件权限、更新 cache 等等,又慢又容易出错,所以做成脚本,一次帮我搞定,自己就点上一根烟坐在电脑面前发呆,要么就玩会儿《植物大战僵尸》啥的,悠闲!
ps: ant 以及 phing 用户,你们可以无视了… 我只是喜欢玩 shell 而已。
复制代码 代码如下:
#!/bin/sh
home='/cygdrive/d/public_html/myproject'
## 先打包本地代码
## 排除如下文件: *.svn, *.bat, upload.sh, cache
## 如果需要 exclude 的文件很多,可以使用参数 --exclude-from=file
## 将文件一行行写入 file 中
cd $home
tar jcf tmp.tar.bz2 * \
--exclude=*.bat \
--exclude=*.bz2 \
--exclude=*.gz \
--exclude=.svn \
--exclude=cache \
--exclude=upload.sh \
## 通过 scp 上传文件
scp tmp.tar.bz2 user@your.host.com:/home/public_html/myproject/tmp.tar.bz2
## 执行远程 ssh 命令
## 这里执行了另外一个脚本 load.sh
ssh user@your.host.com
"
cd /home/public_html/myproject
tar jxf tmp.tar.bz2
chown -r web:web *
chmod -r 755 *
sh load.sh
rm -f tmp.tar.bz2
"
## 删除本地文件
rm -f tmp.tar.bz2
echo "everything is done."
# 星期一 一月 11, 2010 by verdana
# vim: set expandtab tabstop=4 shiftwidth=4:
ssh 我配置成了自动登录,可以参考。
推荐阅读
-
CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
-
在Asp.Net Core中配置使用MarkDown富文本编辑器实现图片上传和截图上传(开源代码.net core3.0)
-
Shell脚本中使用for循环和cat命令实现按顺序合并文件
-
Java实现拖拽文件上传dropzone.js的简单使用示例代码
-
Shell中使用scp命令实现文件上传代码
-
vue中实现图片和文件上传的示例代码
-
使用Bash Shell对目录中的文件实现递归式拷贝
-
php中通过Ajax如何实现异步文件上传的代码实例
-
Asp.Net Core中配置使用Kindeditor富文本编辑器实现图片上传和截图上传及文件管理和上传(开源代码.net core3.0)
-
Linux下使用Shell脚本实现ftp的自动上传下载的代码小结