首页 › 月度存档 › 十一月 2017

通过ssh用rsync无密码传输文件

在linux平台上常用rsync协议来同步文件和目录,’rsync’也是各种linux发行版标配的命令。当我们基于linux平台开发应用程序时,常常需要从Java或者Python代码中调用rsync命令来实现文件的传输。

例如,假设我们要按照如下需求来传输文件:

  • 有两台机器:localhost和remotehost
  • Java程序deploy在localhost上,通过rsync将本机文件传送到remotehost,或者从remotehost pull文件到localhost
  • rsync通过ssh连接remotehost
  • 在remotehost有个叫test的帐户,专门用来rsync传输文件,只能用密钥文件登陆
  • 最重要的是,在rsync连接过程中不需要输入test的帐户密码,否则密码输入界面会block住Java程序的运行

要实现rsync的无密码传输,基本思路是用一对公私钥来代替帐户密码,实现ssh连接时的认证。
继续阅读 »

gogs git请求报错 401

1.我们在服务器上直接git clone项目的版本库的时候报401错误!
错误如下:error: The requested URL returned error: 401 Unauthorized while accessing
原因:git 版本过低

2.git –version 查看一下当前的git版本
因为centos yum 安装的git是 1.7.1
所以我们要升级git的版本

3.如何升级git
更新yum: sudo yum update
安装依赖包:sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下载git:wget https://github.com/git/git/archive/v2.3.0.zip
解压然后进入到目录下
安装:make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install

4.再执行下git –version看git版本是否升级
如果还是1.7.1 需要修改环境变量
sudo vim /etc/profile
在文件的最后加入:export PATH=/usr/local/git/bin:$PATH
source /etc/profile:应用修改
git –version 切换到了2.3.0
这样git的命令就可以正常使用了!

记录一次AWS EC2硬盘扩容的经历

在申请aws ec2时,按照向导,在选择存储的时候默认硬盘大小是 8 G,这时候可以根据自己的需要输入一个合适的数字,例如100。完成向导并启动ec2 instance 后登陆机器。使用命令:

发现硬盘的大小不是自己的设定的值,而还是 8 G,使用fdisk、mkfs来分区和格式化后,还是无法增大其空间。反复折腾多次,包括重启机器,问题依旧,后来发现其实很简单,只需要使用一条命令resize2fs就可以搞定。

注意:“/dev/xvde” 根据自己的实际情况可能会不一样。使用fdisk或df命令都可以获知具体的设备号。 如果执行上述命令收到 The filesystem is already 2096896 blocks long. Nothing to do! 的错误,那么需要先做如下操作
继续阅读 »

CentOS7 下 Zabbix3.4 源码安装

zabbix系统基于PHP环境运行,所以前提是系统上有PHP的运行环境,lnmp或者lamp环境

lnmp环境安装:http://www.cnblogs.com/rnckty/p/7642034.html

lamp环境安装:http://www.cnblogs.com/rnckty/p/4094272.html

1、下载源码包

2、安装依赖库

3、解压并编译

继续阅读 »