jumbo 安装mysql_Linux服务器与开发机间的文件传输

在工作中,我们经常需要在本地和服务器之间进行文件传输,一般情况下,我们可以通过 scp(secure copy)、wget命令等方式进行传输。但有时本地和服务器之间没能直接连通(比如需要通过跳板机/堡垒机的跳转 或者 端口限制 等),此时,我们就需要其他方式了,在这里介绍四种方式:

httpfileserver

rz/sz

proftpd

samba

1 httpfileserver

1.1 安装

1.1.1 准备工作

httpfileserver的安装依赖于jumbo,jumbo的介绍和安装详见 http://jumbo.baidu.com

服务器的IP或域名地址

1.1.2 服务器端安装

jumbo install python-httpfileserver

过程

==> Updating cache list....

-> Downloading file http://jumbo.baidu.com/list.tar.gz...

==> Calculating dependencies....

==> Packages to be installed:

-> pkg-config ncurses perl readline tcl zlib bzip2 expat libffi openssl sqlite3 python python-httpfileserver

==> Start installation of package pkg-config

-> Downloading files for package...

-> Downloading file http://jumbo.baidu.com/packages/pkg-config/pkg-config-0.28.tar.gz...

######################################################################## 100.0%

-> Extracting pkg-config-0.28.tar.gz...

-> Downloading file http://jumbo.baidu.com/packages/pkg-config/internal-glib-check-pr-set-name.patch...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/ncurses/ncurses-5.9.tar.gz...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/perl/perl-5.16.2.tar.bz2...

######################################################################## 100.0%

-> Extracting perl-5.16.2.tar.bz2...

-> Downloading file http://jumbo.baidu.com/packages/perl/perlbin.sh...

######################################################################## 100.0%

-> Installing...

-> Calculating files...

-> Running hook jumbo_post_install

>>

>> If you found NOAH archer/mdb not working properly after jumbo perl installation

>> Try this command

>> jumbo install baidu-noah-depends

>> to install NOAH required perl packages

>>

==> Installation of perl done!

==> Start installation of package readline

-> Downloading files for package...

-> Downloading file http://jumbo.baidu.com/packages/readline/readline-7.0.tar.gz...

######################################################################## 100.0%

-> Extracting readline-7.0.tar.gz...

-> Downloading file http://jumbo.baidu.com/packages/readline/inputrc...

######################################################################## 100.0%

-> Downloading file http://jumbo.baidu.com/packages/readline/readline70-001...

######################################################################## 100.0%

-> Downloading file http://jumbo.baidu.com/packages/readline/readline70-002...

######################################################################## 100.0%

-> Downloading file http://jumbo.baidu.com/packages/readline/readline70-003...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/tcl/tcl8.6.0-src.tar.gz...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/zlib/zlib-1.2.11.tar.gz...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/bzip2/bzip2-1.0.6.tar.gz...

######################################################################## 100.0%

-> Extracting bzip2-1.0.6.tar.gz...

-> Downloading file http://jumbo.baidu.com/packages/bzip2/bzip2-1.0.4-bzip2recover.patch...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/expat/expat-2.1.0.tar.gz...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/libffi/libffi-3.0.11.tar.gz...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/openssl/openssl-1.0.2m.tar.gz...

...

-> Downloading file http://jumbo.baidu.com/packages/sqlite3/sqlite-src-3210000.zip...

######################################################################## 100.0%

-> Downloading file http://jumbo.baidu.com/packages/sqlite3/sqlite-doc-3210000.zip...

######################################################################## 100.0%

...

-> Downloading file http://jumbo.baidu.com/packages/python/Python-2.7.3.tar.bz2...

######################################################################## 100.0%

-> Extracting Python-2.7.3.tar.bz2...

-> Downloading file http://jumbo.baidu.com/packages/python/000-damn-usr-local-die-die-die.patch...

######################################################################## 100.0%

...

######################################################################## 100.0%

-> Extracting python-httpfileserver-1.0.0.tar.gz...

-> Installing...

-> Calculating files...

==> Installation of python-httpfileserver done!

==> Installation done.

可以看到,它依赖的包还是挺多的。

1.2 使用

1.2.1 服务器端:在要 上传/下载 的目录里面执行命 httpfileserver 命令,输出

----------------------------------------------------------------------->>

-------->> Warning: Port is not given, will use deafult port: 8001

-------->> if you want to use other port, please execute:

-------->> python SimpleHTTPServerWithUpload.py port

-------->> port is a integer and it's range: 1024 < port < 65535

-------->> Now, listening at port 8001 ...

----------------------------------------------------------------------->>

可以看到,这里使用的是默认端口8001

1.2.2 在本地端浏览器中输入: 服务器地址(域名/IP):端口,例如 http://test.abc.com:8001 (8001就是启动时的默认端口),输出

9204d19b836ac7120c723271becd023d.png

要下载时,直接点击文件,浏览器会进行下载。注意:如果点击的是一个文件夹,会进入下一级目录,而不会下载文件夹。如需下载文件夹,要打包成文件再下载压缩包。

在服务器端,留下记录

100.100.100.100 - - [21/Sep/2020 17:04:59] "GET / HTTP/1.1" 200 -

100.100.100.100 - - [21/Sep/2020 17:05:00] code 404, message File not found

100.100.100.100 - - [21/Sep/2020 17:05:00] "GET /favicon.ico HTTP/1.1" 404 -

100.100.100.100 - - [21/Sep/2020 17:05:19] "GET /abc.tar HTTP/1.1" 200 -

要上传时,点选择文件->upload进行上传

eccd4aef56cf7d30dafb4fcf9c985654.png

在服务端留下记录

True File '/home/work/01.jpg' upload success! by: ('100.100.100.100', 52286)

100.100.100.100 - - [21/Sep/2020 19:39:21] "POST / HTTP/1.1" 200 -

其中,100.100.100.100是开发机的IP地址。

1.3 特点

操作起来还是挺方便的;

只需要在服务器上安装软件即可,本地端不用做任何安装;

大小文件都适用;

2 rz/sz

2.1 安装

2.1.1 准备工作(这里以Mac为例)

终端,Mac上以iTerm2为例 (https://www.iterm2.com/downloads.html)

Homebrew,具体安装方式可百度

2.1.2 安装

2.1.2.1 安装lrzsz

brew install lrzsz

Updating Homebrew...

==> Auto-updated Homebrew!

Updated 1 tap (homebrew/core).

==> New Formulae

alsa-lib ladspa-sdk prometheus-cpp

==> Updated Formulae

Updated 496 formulae.

==> Renamed Formulae

gst-validate -> gst-devtools

==> Downloading https://homebrew.bintray.com/bottles/lrzsz-0.12.20_1.catalina.bottle.tar.gz

######################################################################## 100.0%

==> Pouring lrzsz-0.12.20_1.catalina.bottle.tar.gz

🍺 /usr/local/Cellar/lrzsz/0.12.20_1: 18 files, 473.9KB

2.1.2.2 安装 wget (我这里已经安装好)

brew install wget

Updating Homebrew...

Warning: wget 1.20.3_2 is already installed and up-to-date

To reinstall 1.20.3_2, run `brew reinstall wget`

2.1.2.3 下载执行脚本并修改脚本权限

cd /usr/local/bin

wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh

wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh

chmod 777 /usr/local/bin/iterm2-*

注意:

如果命令需要权限,尝试在前面加 sudo

如果下载失败,可以尝试以下方式手动下载

我这里刚好失败了,404

--2020-09-21 20:01:21-- https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh

正在解析主机 raw.github.com (raw.github.com)... 151.101.76.133

正在连接 raw.github.com (raw.github.com)|151.101.76.133|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 301 Moved Permanently

位置:https://raw.githubusercontent.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh [跟随至新的 URL]

--2020-09-21 20:01:22-- https://raw.githubusercontent.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh

正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.76.133

正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.76.133|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 404 Not Found

2020-09-21 20:01:22 错误 404:Not Found。

进入源码官网,手动下载文件压缩包到本地,双击解压。

09edb6b723583231227d3ca4d23dd568.png

将两个脚本文件放到相应的目录下

cd /下载后的解压目录/iterm2-zmodem-master

ls -al

total 40

drwxrwxr-x@ 7 yiyunjie staff 224 9 21 16:57 .

drwx------@ 42 yiyunjie staff 1344 9 21 16:57 ..

-rw-r--r--@ 1 yiyunjie staff 6148 9 21 16:57 .DS_Store

-rw-rw-r--@ 1 yiyunjie staff 1048 11 7 2019 README.MD

drwxrwxr-x@ 3 yiyunjie staff 96 11 7 2019 imgs

-rw-rw-r--@ 1 yiyunjie staff 1010 11 7 2019 iterm2-recv-zmodem.sh

-rw-rw-r--@ 1 yiyunjie staff 932 11 7 2019 iterm2-send-zmodem.sh

mv iterm2-* /usr/local/bin/

2.1.2.4 对终端工具iTerm2进行设置

iTem2->Preferences->Profiles->Default->Advanced->Edit

1017b3cbee570a40632ca2173ab8790d.png

添加触发器Triggers,两组内容如下:

Regular expression:rz waiting to receive.\*\*B0100

Action:Run Silent Coprocess

Parameters:/usr/local/bin/iterm2-send-zmodem.sh

Regular expression:\*\*B00000000000000

Action: Run Silent Coprocess

Parameters:/usr/local/bin/iterm2-recv-zmodem.sh

点击保存。

c95d9629daa368b21217a54131241c43.png

2.3 使用

上传文件:在服务器上,使用命令 rz (在服务器上receive),此时就会弹出本地窗口,选择本地文件之后,就会自动上传到服务器当前目录里;

下载文件:在服务器上,使用命令 sz (从服务器上send) 要下载的filename,此时会弹出本地窗口,选择某一路径后,就会自动下载文件到所选择的目录里

2.4 特点

sz、rz都是在服务器上执行,且适合于小文件;

在iTerm中配置的Profile Name(也就是快捷登录方式),会在相应的Profile Name窗口生效。如果配置了多个Profile Name,而对应的Profile Name没有配置Triggers触发器,则命令不会在该Profile Name下生效;

3,proftpd

3.1 在服务器端安装

3.1.1 在某个目录下载安装包,我这里在home目录下

wget data-im.baidu.com:/home/work/var/CI_DATA/im/static/proftpd.tar.gz/proftpd.tar.gz.1 -O proftpd.tar.gz

--2020-10-15 13:52:01-- ftp://data-im.baidu.com//home/work/var/CI_DATA/im/static/proftpd.tar.gz/proftpd.tar.gz.1

=> “proftpd.tar.gz”

Resolving data-im.baidu.com... 10.229.60.20, 10.227.197.146, 10.227.197.147

Connecting to data-im.baidu.com|10.229.60.20|:21... connected.

Logging in as anonymous ... Logged in!

==> SYST ... done. ==> PWD ... done.

==> TYPE I ... done. ==> CWD (1) /home/work/var/CI_DATA/im/static/proftpd.tar.gz ... done.

==> SIZE proftpd.tar.gz.1 ... 429703

==> PASV ... done. ==> RETR proftpd.tar.gz.1 ... done.

Length: 429703 (420K) (unauthoritative)

100%[==================================================================================================================================================================>] 429,703 848K/s in 0.5s

2020-10-15 13:52:02 (848 KB/s) - “proftpd.tar.gz” saved [429703]

-rw-rw-r-- 1 work work 429703 Oct 15 13:52 proftpd.tar.gz

3.1.2 解压缩,并切换到解压后的文件目录

tar -zxvf proftpd.tar.gz

cd proftpd

3.1.3 修改配置

在etc目录下,有两个配置文件

-rw-r--r-- 1 work work 2153 May 31 2016 proftpd.conf

-rw-r--r-- 1 work work 2151 May 27 2016 proftpd.conf~

其中 proftpd.conf~是原始的配置文件,我们要修改的是 proftpd.conf

这里主要是修改 端口port,对服务器端口受限制的情景比较友好。当然,需要确认这里设置的端口对外开放了,且未被占用。

# Port 21 is the standard FTP port.

Port 8021

3.1.4 初始化服务

sh init.sh

输出,当前用户的 uid,uname,gid,gname,然后ftpd要求为此用户设置密码

uid 500 uname work gid 500 gname work

ftpasswd: using alternate file: /home/work/proftpd/var/ftpd.group

ftpasswd: creating group entry for group work

ftpasswd: entry created

ftpasswd: using alternate file: /home/work/proftpd/var/ftpd.passwd

ftpasswd: creating passwd entry for user work

提示 输入两次密码

Password:

Re-type password:

ftpasswd: entry created

3.1.5 启动ftp服务

sh start.sh

nohup: appending output to `nohup.out'

提示会追加输出到 nohup.out 文件。

3.1.6 确认ftp服务启动状态

3.1.6.1 服务端

netstat -nlp | grep 8021

(Not all processes could be identified, non-owned process info

will not be shown, you would have to be root to see it all.)

tcp 0 0 0.0.0.0:8021 0.0.0.0:* LISTEN 27582/proftpd

ps -ef | grep proftpd

work 3086 25072 0 15:32 pts/8 00:00:00 grep proftpd

work 27582 1 0 15:30 pts/5 00:00:00 proftpd: (accepting connections)

看到进程已经启动了,正在等待连接。

3.1.6.2 客户端

A:浏览器方式

在浏览器中输入服务器地址,带上刚才设置的端口

84247b0aa022f41292a9c07b27b6b379.png

b040a601b05df89ca5f1ce5a4e0e0011.png

提示输入用户名,就是当时在服务器端安装proftpd时所使用的Linux用户,以及当时设置的密码。输入后,就可以看到对应的文件了。

616ea847718a51d607de8de59727e932.png

此时,就可以通过这个页面,将服务器的文件下载到本地了。

从服务器的日志中也可以看到连接记录。

2020-10-15 15:35:38,859 www.abc.com proftpd[7565] www.abc.com (10.10.10.10[10.10.10.10]): FTP session opened.

2020-10-15 07:35:38,883 www.abc.com proftpd[7565] www.abc.com (10.10.10.10[10.10.10.10]): ANON work: Login successful.

2020-10-15 07:35:38,969 www.abc.com proftpd[7565] www.abc.com (10.10.10.10[10.10.10.10]): FTP session closed.

3.1.6.2.2 Finder

可使用快捷键 Command + K,或在 前往->连接服务器,输入地址: ftp://ip:port,连接,再填入用户名、密码,就可以登录了。

2c6ea826af1e0b50c9a190ba4e6a06b8.png

f355f330e059da5bf9505c688bce0299.png

0797c19a39459dfddb44776fcf731bdc.png

b10ad5987e989183e016e18bdefadcfa.png

3.2 总结

proftpd在浏览器或Finder中,只能从服务器端传输文件到本地。

4,samba

4.1 安装

4.1.1 服务器端安装

yum install samba samba-client samba-swat

rpm -qa |grep samba #查看安装状况

/etc/init.d/smb restart #启动Samba服务器

service smb status #查看samba的服务启动情况

chkconfig --level 35 smb on #设置开机自启动

4.1.2 配置修改

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak #备份配置文件,养成好习惯

vim /etc/samba/smb.conf

[global]

load printers = no

printing = bsd

printcap name = /dev/null

disable spoolss = yes

smb ports = 8082

display charset = utf8

unix charset = gbk

dos charset = gbk

log file = /var/log/samba/log.%m

max log size = 500

workgroup = MYGROUP

netbios name = share #共享服务的名称

server string = uc

security = user #安全等级: share安全级别最低,其次user,最高server

[share] #共享服务的名称(netbios name)

comment = uc

path = /home/work #共享的路径

public = yes

create mask = 0775

directory mask = 0775

writable = yes

valid users = work #合法访问的用户

browseable = yes

service smb restart     #重启服务

4.1.3 添加用户

smbpasswd -a work  #添加samb用户并设置密码(work是已有系统用户)

New SMB password:

Retype new SMB password:

service smb restart     #重启服务

Shutting down SMB services: [ OK ]

Starting SMB services: [ OK ]

4.2 客户端访问

同样在 Finder中->前往,输入地址

smb://ip/host:port/netbios name

如下图

ffbbe5d78df26bc385ffa5e4902d8ce1.png

第一次访问会提示输入用户名和密码,就是前面通过 smbpasswd -a work 命令添加的 work用户,以及设置的密码

09ec9eb787e1c6e313e6d698c619b2fb.png

过一段时间,就登录进去了

df131874d393b4e89244f696c3bc602b.png

b9e6ad8d08d6c89fea920f1d5d530f94.png

我们也可以从配置中所指定的日志来看

tail -f /var/log/samba/log*

==> /var/log/samba/log.10.10.10.10 <==

==> /var/log/samba/log.macbookpro-1000 <==

==> /var/log/samba/log.smbd <==

[2020/10/15 16:28:32, 0] smbd/server.c:1054(main)

smbd version 3.6.23-53.el6_10 started.

Copyright Andrew Tridgell and the Samba Team 1992-2011

4.3 总结

samba是为了共享打印机而设计的协议,感觉比较老,连接速度有点慢。

参考链接:

https://www.jianshu.com/p/5fe62ef260b0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值