• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Shell中使用scp命令实现文件上传代码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

自从法现 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 [email protected]:/home/public_html/myproject/tmp.tar.bz2
 
## 执行远程 ssh 命令
## 这里执行了另外一个脚本 load.sh
ssh [email protected]
 "
 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 我配置成了自动登录,可以参考这里


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Putty实现自动登陆远程Linux主机的方法发布时间:2022-02-11
下一篇:
Shell脚本中实现更新PHP5发布时间:2022-02-11
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap