/--- date: 2018-04-13 20:41:36 +0800 categories: 技术 ---/
Linux开发机和本地同步文件的几种方法
开发机:centos7,假定ip地址为10.211.55.4,已有用户xsddz(家目录:/home/xsddz)
本地:windows或mac
因为Linux系统的便利性,我习惯于用一台Linux系统的机器当作开发机,通过ssh登录来进行开发工作,日常则使用一台mac电脑或者windows系统的机器。这样便会产生一个开发机和本地文件同步的问题。下面是几种方法。
方法一:rz、sz
rz
、sz
命令是由lrzsz
软件包提供的,所以在使用之前,需要在开发机上进行安装:
yum install lrzsz
由于这两个命令是通过ZModem协议进行文件传输的,所以只有在支持该协议的终端(windows下可以用Xshell、SecureCRT,mac下可以用SecureCRT)上才能顺利使用。
这种方式可以很方便的解决单个或少量几个文件的同步问题,大文件可以配合参数-be
使用。但是当文件数涉及到代码工程的量级上时,这时一个文件一个文件的同步就会显得很吃力。
方法二:ftp、sftp服务
在转战使用samba方式之前,我使用过这种方式进行代码工程量级上的文件同步,首先需要开发机开启ftp、sftp服务,然后本地安装相应的客户端(比如FileZilla,Sublime Text编辑器可以配合sftp插件)。
方法三:samba服务
samba服务是我推荐使用的方法。该服务由samba
软件包提供,samba-client
和samba-common
软件包则分别提供了当Linux做为samba client端时所需要的工具指令和主要配置文件(smb.conf)、语法检验指令(testparm)等等。具体使用时,按需要在开发机上配置好共享目录,然后开启samba服务,便可在本地挂载开发机上的共享目录。步骤如下:
安装与服务管理
# 安装
配置
samba服务的主要配置文件为
/etc/samba/smb.conf
。下面是一个共享系统用户家目录的通用配置:[global]
workgroup = WORKGROUP # windows机器的工作组一般默认为WORKGROUP,所以需要共享给windows机器时,需设置为WORKGROUP
server string = local centos work env # 随意文本
netbios name = local-centos-server # 随意文本
# display charset = utf8 # 高版本的samba服务可以没有这三项设置
# unix charset = utf8
# dos charset = cp950
security = user
passdb backend = tdbsam
[homes]
comment = Home Directories
browseable = No
writable = yes
create mode = 0664
directory mode = 0775配置好修改完成后,可使用
testparm
命令检测配置是否正确,如下:testparm
添加用户、测试
# 将xsddz添加到samba服务登录用户中,并设置samba服务的登录密码
其他注意事项
如果开发机上开启了SELinux服务,则需要将相应的samba选项打开,如下:
# 查看所有关于samba的选项及状态
如果开发机开启了防火墙服务,这需要将samba放行,firewalld示例如下:
# 查看当前放行的服务
本地挂载
mac机器下,打开【Finder】,使用
command+k
组合键打开连接远程服务器窗口,输入smb://10.211.55.4/
,点击【连接】,输入用户名密码便可完成挂载操作。如下:mac挂载samba mac挂载samba windows机器下,打开任意文件夹输入
\\10.211.55.4
,输入用户名密码便可完成挂载操作;需要断开时,在命令提示符中输入net use * /del /y
,或者注销、重启系统。如下:win挂载samba win挂载samba win挂载samba win挂载samba