SCP 同步
从备份主机或主机拉取文件 同步至本地
- scp root@服务器IP:/usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/
- scp root@服务器IP:/root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
- scp root@服务器IP:/home/data/www/htdocs/topluxussale.com.zip /home/
从本地推向其他主机
- scp -r /usr/local/mysql/var/ghd/ root@服务器IP:/home/test/
- scp -r /home/data/www/htdocs/1.1.1.1-sql-120630.tar.gz root@服务器IP:/home/data/www/htdocs
- scp -r 服务器IP:/home/up/database/one/ /home/data/www/htdocs/1.1.1.1/sql/
- scp -r 服务器IP:/home/data/www/htdocs/latest.zip /home/data/www/htdocs/1.1.1./web/
==================
scp 命令
==================
scp 可以在 2个 linux 主机间复制文件;
命令基本格式:
scp [可选参数] file_source file_target
======
从 本地 复制到 远程
======
* 复制文件:
scp local_file remote_username@remote_服务器IP:remote_folder
或者
scp local_file remote_username@remote_服务器IP:remote_file
或者
scp local_file remote_服务器IP:remote_folder
或者
scp local_file remote_服务器IP:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
* 例程:
- scp /home/space/music/1.mp3 [email protected]:/home/root/others/music
- scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/002.mp3
- scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/data/www/htdocs/$WebBackName 服务器IP:/home/up/database
* 复制目录:
* 命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_服务器IP:remote_folder
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
* 例程:
- scp -r /home/space/music/ root@:/home/root/others/
- scp -r /home/space/music/ [email protected]:/home/root/others/
- scp -r /home/backup."$int"/ 1.1.1.1:/home/up/database
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
======
从 远程 复制到 本地
======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
例如:
- scp [email protected]:/home/root/others/music /home/space/music/i.mp3
- scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/
rsync 同步 (断点续传即只将更新的传递同步相同的不传)
#这是指将本地操作将本地的文件 复制到 1.1.1.1 的/home/data/www/htdocs 位置下
rsync -avz --delete /home/data/www/htdocs/2.1.1.1-sql-120604.tar.gz [email protected]:/home/data/www/htdocs
# 执行“拉”复制同步
# 这是指在备份的主机上操作的 在备份的主机上 将需要的备份的主机的文件复制到(拉到)备份的主机上
rsync -avz --delete [email protected]:/home/data/www/htdocs/2.2.2.2-sql-120604.tar.gz /home/data/www/htdocs
rsync -avz --delete [email protected]:/home/data/www/htdocs/2.3.3.3/* /home/www/one
rsync -avz --delete [email protected]:/home/www/ /home/data/www/htdocs/other
#!/bin/bash
#---------------------------------------------------------------
#back server 服务器IP
back服务器IP = 1.1.1.1
backpath = /home/www/
path = /home/data/www/htdocs/other
rsync -avz --delete root@$back服务器IP:$backpath $path
******************************************************************************************************
centos rsync 同步文件配置
有两个需求
1,从server推送文件到client 保持同步
2,在client获取server上的文件夹 保持同步
server,client 没有明确界定. 推送到的 和 获取文件 机器 需要配置 rsync 服务
rsync服务配置
rsync 配置文件
需要同步的主机
vim /etc/rsyncd.conf
内容修改为
#以什么身份运行rsync
gid=nobody
user chroot=no
#不使用chroot
max connections =200
#指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是0,也就是没有限制。
#最大连接数
timeout=600
#通过该选项可以覆盖客户指定的服务器IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定 义,这也是默认值。对于匿名rsync服务器来说,一个理想的数字是600。
pid file=/var/run/rsyncd.pid
#指定rsync的pid文件
lock file=/var/run/rsyncd.lock
#指定支持max connections参数的锁文件,默认值是/var/run/rsyncd.lock
log file=/var/log/rsyncd.log
#指定rsync的日志文件,而不将日志发送给syslog
#comment = hello world
#motd file = /etc/rsyncd.motd #欢迎信息文件名称和存放位置(此文件没有,可以自行添加)
[backup]
path=/var/www
#需要做镜像的目录即操作(同步)的目录
ignore errors
# 指定rsyncd在判断是否运行传输时的删除操作时忽略server上的IO错误,一般来说rsync在出现IO错误时将将跳过–delete操 作,以防止因为暂时的资源不足或其它IO错误导致的严重问题。
read only=false
# 该选项设定是否允许客户上载文件。如果为true那么任何上载请求都会失败,如果为false并且服务器目录读写权限允许那么上载是允许的。默认值 为true。
list=false
# 该选项设定当客户请求可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为false,可以创建隐藏的模块。默认值是true。
auth users=www
# 授权帐号。认证的用户名,如果没有这行,则表明是匿名,多个用户用,分隔
secrets file=/etc/rsyncd.password
#密码文件位置,认证文件设置,设置用户名和密码
#exclude=test1 test2
#忽略的目录 将不需要同步的目录以空格隔开
#hosts allow
#该选项指定哪些服务器IP的客户允许连接该模块。客户模式定义可以是以下形式: 单个服务器IP地址,例如:192.167.0.1 整个网段,例如:192.168.0.0/24,也可以是192.168.0.0/255.255.255.0 多个服务器IP或网段需要用空格隔开,“*”则表示所有,默认是允许所有主机连接。
#hosts deny
#指定不允许连接rsync服务器的机器,可以使用hosts allow的定义方式来进行定义。默认是没有hosts deny定义。
添加用户组和用户
groupadd www
useradd -g www www
vim /etc/rsyncd.password
修改为
www:www #用户名:密码 前后 中间 不要有空格
chmod 600 /etc/rsyncd.password
vim /etc/xinetd.d/rsync
将 disable = yes 修改为 disable = no
然后运行
启动rsync 服务
写入开机启动
客户端配置
vim /etc/rsyncd.password
内容为 www (与rsync服务端/etc/rsyncd.password 冒号后半部分相同) #权限同上
1,在客户端执行
rsync -vzrtopg --delete --password-file=/etc/rsyncd.password /var/www/demo/ root@服务器IP::backup
意思是将 客户端的 /var/www/demo 文件夹推送到 服务器服务器IP::backup指定的文件夹下 即
服务端 /etc/rsyncd.conf 中的
[backup]
path=/var/www
指定的 /var/www 文件夹下
意思是将服务器IP::backup 指定下的文件夹内的东西同步到本地的/var/www/demo/下
2,在客户端执行
rsync 进行本地拷贝 /var/www
带杠表示拷贝目录里面的内容不包括目录本身
重要的是源路径带不带杠,目标路径没关系
不带杠表示拷贝目录里面的内容以及目录本身 重要的是源路径带不带杠,目标路径没关系
没有评论