所有虚拟机设置SELinux运行模式
[root@server ~]# getenforce
Enforcing
[root@server ~]# setenforce 0 #当前设置
[root@server ~]# getenforce
Permissive
[root@server ~]# vim /etc/selinux/config
SELINUX=permissive
RPM软件包:rpm -ivh 或者 yum -y install
源码包----开发工具gcc与make----》可以执行的程序-----》运行安装
?主要优点
–获得软件的最新版,及时修复bug
–软件功能可按需选择/定制,有更多软件可供选择
–源码包适用各种平台
–……
步骤1:安装开发工具gcc与make,释放源代码至指定目录
步骤2:tar解包,释放源代码至指定目录
步骤3:./configure 配置,指定安装目录/功能模块等选项
步骤4:make 编译,生成可执行的二进制程序文件
步骤5:make install 安装,将编译好的文件复制到安装目录
真机tools.tar.gz 传递数据到虚拟机
真机为Linux:
]# ls /linux-soft/s1
]# scp /linux-soft/s1/tools.tar.gz root@192.168.88.240:/root
真机为windows:windterm进行上传tools.tar.gz
虚拟机A
1.安装开发工具
[root@server ~]# yum -y install gcc make
[root@server ~]# rpm -q gcc
[root@server ~]# rpm -q make
[root@server ~]#
2.进行解压缩
[root@server ~]# tar -xf /root/tools.tar.gz -C /usr/local
[root@server ~]# ls /usr/local/tools
inotify-tools-3.13.tar.gz
3.进行tar解包
[root@server ~]# tar -xf /usr/local/tools/inotify-tools-3.13.tar.gz -C /usr/local/
[root@server ~]# ls /usr/local/
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server ~]# ls
4.运行configure脚本
作用1:检测当前系统是否安装gcc
作用2:指定安装位置与功能
作用3:生成Makefile文件(制作程序的大纲,做菜的菜谱)
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server ~]# ./configure --help #查看帮助信息,大概浏览一下
[root@server ~]# ./configure --prefix=/opt/myrpm #指定安装位置,此步骤不产生相应的目录
常见的报错信息:gcc开发工具没有安装
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
5.进行make编译,变成可以执行的程序(放在内存中)
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make
6.进行make install安装
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make install
[root@server inotify-tools-3.13]# ls /opt/
[root@server inotify-tools-3.13]# ls /opt/myrpm/
[root@server inotify-tools-3.13]# ls /opt/myrpm/bin/
? 命令用法
rsync [选项...] 源目录 目标目录
? rsync操作选项
-n:测试同步过程,不做实际修改
--delete:删除目标文件夹内多余的文档
-a:归档模式,相当于-rlptgoD
-v:显示详细操作信息
-X:保持acl策略不变
[root@server ~]# mkdir /mydir /todir
[root@server ~]# echo haha > /mydir/h.txt
[root@server ~]# rsync -avX --delete /mydir/ /todir #同步目录的内容
[root@server ~]# ls /mydir/
[root@server ~]# ls /todir/
[root@server ~]# touch /todir/a.txt
[root@server ~]# ls /todir/
[root@server ~]# rsync -avX --delete /mydir/ /todir
[root@server ~]# ls /todir/
[root@server ~]# ls /mydir/
? 与远程的 SSH目录保持同步
下行:rsync [...] user@host:远程目录 本地目录
上行:rsync [...] 本地目录 user@host:远程目录
虚拟机A的/mydir目录的内容与虚拟机B的/mnt进行同步
虚拟机A:
[root@server ~]# rsync -avX --delete /mydir/ root@192.168.88.2:/mnt
……..connecting (yes/no)? yes
root@192.168.88.2's password: #输入密码
虚拟机B:
[root@server ~]# ls /mnt
虚拟机A的/mydir/目录的内容与虚拟机B的/mnt进行同步
实现ssh无密码验证(公钥与私钥)
虚拟机A
1.虚拟机A生成公钥与私钥
[root@server ~]# ssh-keygen #一路回车
[root@server ~]# ls /root/.ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)
?2.虚拟机A将公钥传递给虚拟机B
[root@server ~]# ssh-copy-id root@192.168.88.2
[root@server ~]# rsync -avX --delete /mydir/ root@192.168.88.2:/mnt
监控目录内容变化工具
? 基本用法
inotifywait [选项] 目标文件夹
? 常用命令选项
-m,持续监控(捕获一个事件后不退出)
-r,递归监控、包括子目录及文件
-q,减少屏幕输出信息
-e,指定监视的 modify、move、create、delete、attrib 等事件类别
inotifywait 监控目录内容变化
rsync -avX --delete /mydir/ root@192.168.88.2:/mnt
脚本:可以运行一个文件,实现某种功能
中文:新建用户zhangsan shell: useradd zhangsan
[root@server /]# vim /root/hello.sh
echo hello world
hostname
id root
ifconfig | head -2
[root@server /]# chmod +x /root/hello.sh #所有人赋予执行权限
[root@server /]# /root/hello.sh #绝对路径执行脚本
重复性:循环解决
格式:
while 条件
do
重复执行的事情
done
[root@server /]# vim /etc/rsync.sh
while /opt/myrpm/bin/inotifywait -rqq /mydir/
do
rsync -aX --delete /mydir/ root@192.168.88.2:/mnt
done
[root@server /]# chmod +x /etc/rsync.sh #赋予执行权限
[root@server /]# /etc/rsync.sh & #放入后台运行脚本程序
[root@server /]# jobs -l #-l选项 显示进程的pid
[1] + 17707 运行中 /etc/rsync.sh &
[root@server /]# kill 17707 #停止脚本,可以杀死进程
?