1.memcache操作
登录堡垒机,在堡垒机上telnet到目标机上,命令为'telnet ip 端口号',telnet成功后输入stats命令参看,输入quit退出:
happy@linux:~$ ssh -A 10.10.3.58 Last login: Wed Aug 28 15:00:04 2013 from 192.168.188.31 [happy@LOGIN-SA ~]$ telnet 10.10.3.11 11211 Trying 10.10.3.11... Connected to mem10-010.ajk.a.ajkdns.com (10.10.3.11). Escape character is '^]'.
输入stats后,出来各种参数:
Connected to mem10-010.ajk.a.ajkdns.com (10.10.3.11). Escape character is '^]'. stats STAT pid 2884 STAT uptime 117014 STAT time 1377676064 STAT version 1.4.0 STAT pointer_size 64 STAT rusage_user 0.006998 STAT rusage_system 0.007998 STAT curr_connections 5 STAT total_connections 6 STAT connection_structures 6
……
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
END
quit
Connection closed by foreign host.
参数详细参考:memcache stats
memcache有4条数据存储和取回的命令:add、set、replace、get。具体略
2.rsync
需求:将机器A中目录dir1下的所有文件copy到机器B的目录dir2下。
rsync用来同步远程服务器与本机数据。其包括如下的一些特性:
- 能更新整个目录和树和文件系统;
- 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
- 对于安装来说,无任何特殊权限要求;
- 对于多个文件来说,内部流水线减少文件等待的延时;
- 能用rsh、ssh 或直接端口做为传输入端口;
- 支持匿名rsync 同步文件,是理想的镜像工具;
语法:参考官方文档
Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
rsync的server端主要有以下三个配置文件
- rsyncd.conf(主配置文件);
- rsyncd.secrets(密码文件);
- rsyncd.motd(rysnc服务器信息) 。
服务器配置文件(/etc/rsyncd.conf)默认不存在,需新建。
#touch /etc/rsyncd.conf
#mkdir rsyncd #touch /etc/rsyncd/rsyncd.secrets #chmod o-r /etc/rsyncd/rsyncd.secrets #touch /etc/rsyncd/rsyncd.motd
/etc/rsyncd.conf具体配置信息如下:
uid = root gid = root use chroot = no max connections = 4 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log
secrets file = /etc/rsyncd/rsyncd.secrets
motd file = /etc/rsyncd/rsyncd.motd
[my_module]
path = dir2
auth users = root
read only = no
说明几点:
上半部分是全局变量,下半部分是模块信息。
关于path,若以A为服务器端,则path为dir1/,若以B为服务器端,则path为dir2/。 auth users为哪些用户可访问该文件,若省略表示所有用户均可访问。
编辑rsyncd.secrets:
输入密码,该密码是基于行的,命名规则是username:password 或/和 @groupname:password。其中username和groupname均为server端的username和groupname,password长度最好不超过8个字符,否则在某些操作系统中会报错。
如server端当前用户是root。则密码设置为
root:lucky
注意若rysncd.secrets文件配置出错,会报如下错误:
@ERROR: auth failed on module my_module rsync error: error starting client-server protocol (code 5) at main.c(1516) [sender=3.0.9]
在客户端新建密码文件(/etc/rsyncd/rsyncd.secrets),内容与server端的password保持一致。所以在此设为lucky。若客户端为其他某用户登录,而使用该用户的人不知道密码,需将密码文件(/etc/rsyncd/rsyncd.secrets)的拥有者和组设为该用户及该用户所在的组。
server端开启服务:
# rsync --daemon
rsync服务开机启动:
# vim /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it # allows crc checksumming etc.
service rsync
{
#disable从yes修改为no
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
使用:
在A端输入如下指令:
rsync -avz dir1 rsync://root@B’IP/my_module --password-file=/etc/rsyncd/rsyncd.secrets
如果path为dir1,在B端执行如下指令:
rsync -zav rsync://root@A‘ip/my_module dir2 --password-file=/etc/rsyncd/rsyncd.secrets
若客户端没有创建password-file,不带--password-file输入,会提示输入密码的。直接输入密码(lucky)也可执行命令。