1、rsync通过服务同步
rsync通过服务同步,需要监听端口873(可以自定义端口号),开启端口以后,客户端就可以通过873端口与服务器通信
服务端配置
在开启服务之前,要编辑配置文件/etc/rsyncd.conf,将下图中的内容添加到配置文件中,建议将path=/root/rsync修改为path=/tmp/rsync/,这个目录需要先创建
rsync --deamon 启动服务,通过ps aux |grep rsync查看服务状态,如下表示已启动
执行netstat -lntp查看rsync的信息,可以看到rsync监听的端口和IP,如果不指定IP,则会监听所有的IP地址
客户端同步
rsync -avP /tmp/aming.txt 192.168.133.130::test/aming-02.txt 将/tmp/aming.txt 同步到192.168.133.130,其中test是服务端配置文件中/etc/rsyncd.conf中指定的[test]模块
配置文件详解
port:指定监听端口,如果不指定具体端口,则默认监听873
log file:指定日志文件
pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作
address:指定监听的IP,如果不指定,则监听全部,也可以写多个IP
[ ]:指定模块名,里面的内容自动以
path:指定模块路径,定义数据存放路径
use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果数据中有软链接文件,建议设置为false
max connection:指定最大的连接数,默认为0,即没有限制,当有很多客户端时,可以进行限制
read only true|false:如果为true,则不能上传到该模块指定的目录下
list:表示当用户查询服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏,修改前后的区别
uid/gid:指定传输文件时以哪个用户/组进行上传
auth users:指定传输时要使用的用户名
secrets file:指定密码文件,该参数同上面的参数如果不指定,则不使用密码验证,注意该密码文件的权限一定要是600,格式是:用户名:密码。也可以在客户端上添加一个密码文件,在传输数据时,增加--password-file=/etc/pass选项,其中/etc/pass是指定的密码文件,客户端的密码文件与服务端密码文件不同,只需要输入密码然后保存即可
hosts allow:定义哪些主机可以做同步 ,如果是多个IP地址可以使用空格分割,也可以写网段
修改端口之后要进行重启才能生效,修改完成之后,客户端进行同步时需要使用--port选项指定端口
2、linux系统日志
/var/log/messages 系统日志
由于此文件为系统日志文件,在不停的写入数据, 所以linux系统有日志切割机制,在日志占用一定的空间时,自动进行切割,系统使用logrotate服务来切割日志
可以通过cat /etc/logrotate.conf查看日志切割服务的配置文件,其中weekly表示每周切割一次,rotate4表示保留4给,即保留一周,create表示切割完成后创建新的文件,dateext表示切割文件日期,compress表示是否压缩(.tar.gz格式),include /etc/logrotate.d表示此文件还有一部分存储文件
下面部分表示,会对/var/log/wtmp和/var/log/btmp两个文件进行切割,每个月切割一次,只保留一次切割的内容,切割时创建新文件指定权限为0644,属主和属组分别为root/utmp
执行dmesg命令可以将系统中与硬件相关的日志列出,该日志保存在内存中
dmesg -c可以清空该日志
/var/log/dmesg 系统启动日志,记录系统启动相关信息,与dmesg命令没有关系
last 查看正确的登陆日志,调用的是/var/log/wtmp文件
lastb 查看登陆失败的日志,调用的是/var/log/btmp文件
/var/log/secure 安全日志
3、screen工具
为了不让一个任务意外中断,可以将任务放在后台执行,然后输出日志
执行nohup command &命令,就会让任务放在后台执行,即使终端断开,也不会影响任务执行。
screen虚拟终端,在执行任务时,可以将screen放在后台执行,随时需要用,可以随时调出
yum install -y screen
执行screen,进入虚拟终端窗口,可以按ctrl+a,然后按d将screen放在后台执行,可以执行screen -ls查看放在后台的screen
执行screen -r 3725.将指定screen调出,其中3725.为screen的id,可以在screen -ls的输出中看到
在screen中,可以执行exit命令,直接关闭screen
执行screen -S “test_screen”可以自定义名字