手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >Shell中使用scp命令实现文件上传代码
Shell中使用scp命令实现文件上传代码
摘要:自从法现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 我配置成了自动登录,可以参考这里。

【Shell中使用scp命令实现文件上传代码】相关文章:

shell脚本实现拷贝大文件显示百分比的代码分享

Shell中实现飞行文字效果

Shell脚本读取ini配置文件的实现代码2例

CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中

用shell命令读取与输出数据的代码

Shell脚本定时备份清除运行系统日志的代码

Shell脚本中使用for循环和cat命令实现按顺序合并文件

Shell脚本实现从文件夹中递归复制文件

Shell+Linux命令实现日志分析

shell脚本正则匹配文件中的Email并写入到文件中代码分享

精品推荐
分类导航