rsync通过服务同步
使用服务同步需要开启rsync --daemon服务,并且需要监听端口(默认是873,端口是可以自定义的)开启完之后客户端就可以通过这个端口和服务端进行通信。
格式:rsync -av test1/ 192.168.71.131::module/dir
小实验
两台机器:
A机器:192.168.71.131 (服务端)
B机器:192.168.71.132 (客户端)
需要将B机器的文件同步到A机器上
在开启服务之前需要编辑配置文件 /etc/rsyncd.conf 你也可以写到别的地方,但是如果写到别的地方开启服务的时候就需要在rsync --daemon后面再指定路径。
A机器编辑配置文件格式示例:(将它粘贴进 /etc/rsyncd.conf 里)
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.71.131
[test]
path=/tmp/rsync
use chroot=true
max connections=4
read only=no
list=true
uid=root
gid=root
auth users=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.71.132
进入编辑 /etc/rsyncd.conf 里去(我们把path后面的root改成tmp,然后再自己创建一个/tmp/rsync目录并改权限为777,这样方便操作)
vi /etc/rsyncd.conf
另起一行粘贴我们复制的内容,然后保存退出
A机器启动服务rsync --daemon
查看是否启动ps aux |grep rsync
前期的准备工作已经做完,可以开始同步文件
从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式
rsync [OPTION]... SRC [USER@]HOST::DEST
B机器执行以下命令:
将B机器上的/tmp/ya.txt文件备份到远程A机器,并改名为ya1.txt(test是模块的名字,就是我们刚刚加进配置文件里的大括号里的名字,这个模块名代表的路径就是我们刚刚改的/tmp/rsync)rsync -avP /tmp/ya.txt 192.168.71.131::test/ya1.txt
出现了错误,检查一下网络是否连接,还有端口是否能ping通
检查网络是否连接
检查端口是否能用
端口不通,我们查看一下是否停用firewalld服务,如果没有挺就需要使用如下面停掉(不管是客户端还是服务端都要停掉)systemctl stop firewalld
我们同步的时候是需要输入密码的,因为我们在给配置文件添加的行里有两行是关于密码的,我们可以把以下两行前面加上井号,这样同步的时候就可以不用输密码。(auth users=test secrets file=/etc/rsyncd.passwd)
然后我们从服务端拉取文件到客户端,并改名为bb.txtrsync -avP 192.168.71.131::test/ya1.txt /tmp/bb.txt
编辑配置文件格式示例每一条什么意思如下:
port :指定在哪个端口启动rsyncd服务,默认是873端口。
log file :指定日志文件。
pid file :指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。
address :指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启
动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。
[] :指定模块名,里面内容自定义。
path :指定数据存放的路径。
max connections :指定最大的连接数,默认是0,即没有限制。
read only ture|false:如果为true,则不能上传到该模块指定的路径下。
list :表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。
uid/gid :指定传输文件时以哪个用户/组的身份传输。
auth users :指定传输时要使用的用户名。
secrets file :指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码
use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,建议设置成false。
hosts allow :表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。
当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件 rsync -avL test@192.168.133.130::test/test1/ /tmp/test8/ --password-file=/etc/pass 其中/etc/pass内容就是一个密码,权限要改为600
use chroot最好改成false,不然如果要同步的目录里有软连接并且你加了L(软连接源文件不在指定的目录里)就会报错。
linux系统日志
系统总日志存放地址,几乎系统发生的错误信息以及重要信息都会记录在这个文件里less /var/log/messages
日志文件的轮替(切割)loqrotate配置文件,/etc/logrotate.confcat /etc/logrotate.conf
cat 后的内容详细介绍
weekly 默认每个礼拜对日志文件进行一次rotate的工作
keep 4 weeks worth of backlogs
rotate 4 设置保留几个日志文件,默认4个
create new (empty) log files after rotating old ones
create 创建一个新的文件存储日志
use date as a suffix of the rotated file
dateext 设置后缀,日期
uncomment this if you want your log files compressed
compress 是否压缩
PM packages drop log rotation information into this directory
include /etc/logrotate.d 将/etc/logrotate.d/这个目录中的所有文件都读进来执行rotate工作
no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp { 针对/var/log/wtmp/所设置的参数
monthly 每个月执行一次rotate工作
create 0664 root utmp 指定新建文件的权限和所有者以及所属组
minsize 1M 文件的大小要超过1M才进行rotate
rotate 1 保留一个文件
/etc/logrotate.d就是由/etc/logrotate.conf所规划出来的目录,所以可以将所有的数据都写入到 /etc/logrotate.conf即可,但是这样太过于复杂了,所以独立出来一个目录,那么每个以rpm打包方式安装的服务日志文件轮替设置,就可以独自成为一个文件,并且放到 /etc/logrotate.d目录下即可。ls /etc/logrotate.d/
dmesg 是一个命令,把系统里硬件相关的日志列出来(是保存在内存中的,dmesg -c可以清除,重启系统又会生成)如果你的硬盘坏了,或者网卡坏了都会记录在这里。
/var/log/dmesg 这是一个日志文件,和dmesg很像,但是不一样,和dmesg命令没有相关性,记录系统启动相关的信息
last 是一个命令,用来记录正确的登陆历史,调用的是/var/log/wtmp这个日志文件
lastb 是一个命令,查看登录失败的用户,调用的是/var/log/btmp这个日志文件
/var/log/secure 这时一个安全日志,只要牵涉到需要输入账号密码的软件,那么登陆时不管正确和错误都会被记录在这个文件中
screen工具
screen虚拟的屏幕,或者说是一个虚拟的终端。
可以让任务一直执行,并且可以随时把任务退出临时放到后台去,随时调回来也可以。
安装screenyum install -y screen
安装完成后,直接敲命令screen就可以启动
screen启动后,会创建第一个窗口,也就是窗口No. 0,并在其中打开一个系统默认的shell,一般都会是bash。所以你敲入命令screen之后,会立刻又返回到命令提示符,仿佛什么也没有发生似的,其实你已经进入Screen的世界了。screen
screen -ls 列出当前所有的sessionscreen -ls
screen -r id 回到指定的sessionscreen -r 1419
结束一个session
直接在session下按ctrl+c,然后输入exit即可退出
screen -S 给screen会话取一个名字screen -S "xiao"
转载于:https://blog.51cto.com/13658403/2116655