201901建站运维笔记 41

 

5.60-find命令.md

 

find - 顾名思义,用来查找文件的命令。 在讲find之前,先总结一下Linux系统下面可以查找文件或目录的命令都有谁。

which

在前面已经用到该命令,需要注意的一点是,which只能用来查找PATH环境变量中出现的路径下的可执行文件。这个命令用的也是蛮多的,有时候我们不知道某个命令的绝对路径,which 一下很容易就知道了。

whereis

通过预先生成的一个文件列表库去查找跟给出的文件名相关的文件

 

如:whereis ls

locate

和whereis类似,也是通过查找预先生成的文件列表库来告诉用户要查找的文件在哪里。

 

后边直接跟文件名。如果你的linux没有这个命令,请安装软件包 'mlocate', 可以使用这个命令来安装 yum install -y mlocate ,如果你刚装上这个命令,初次使用会报错。

 

[root@localhost ~] # locate passwd

locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory

 

这是因为系统还没有生成那个文件列表库。你可以使用 updatedb 命令立即生成(更新)这个库。如果你的服务器上正跑着重要的业务,那么你最好不要去运行这个命令,因为一旦运行,服务器的压力会变大。这个数据库默认情况下每周更新一次。所以你用locate命令去搜索一个文件,正好是在两次更新时间段内,那你肯定是得不到结果的。你可以到/etc/updated.conf 去配置这个数据库生成(更新)的规则。

 

locate所搜索到的文件列表,不管是目录名还是文件名,只要包含我们要搜索的关键词,都会列出来,所以locate不适合精准搜索,这个命令阿铭使用的也并不多,你只要明白有这么一个工具即可,用到时再去深究其用法吧。

 

 

find

语法 : find [路径] [参数] 下面介绍几个常用的参数

 

-atime +n/-n : 访问或执行时间大于/小于n天的文件

-ctime +n/-n : 写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件

-mtime +n/-n : 写入时间大于/小于n天的文件

-mmin +n/-n : 更改时间大于/小于n分钟的文件

 

示例:

# find /tmp/ -mtime -1

# find /tmp/ -atime +10

# find /tmp/ -atime +1

 

 

-name filename 直接查找该文件名的文件,这个选项使用很多。

 

# find . -name test2

# find . -name "*.txt" //用通配时要加上双引号

 

-type filetype 通过文件类型查找。文件类型有 f, b, c, d, l, s 等。

 

# find /tmp/ -type d

# find /tmp/ -type f

 

-size [+n/-n] 根据大小查找(单位:c k M G),其中字节不是b,而是c

 

# find . -size +10k

# find . -size -1M

# find . -size 4k

 

-perm [+/-]权限

 

# find . -perm 777

 

其他高级用法:

 

忽略大小写文件名查找: # find /home -iname abc.txt

 

查找所有以.txt和.pdf结尾的文件 # find . \( -name "*.txt" -o -name "*.pdf" \)

转义 \( \)

 

基于正则表达式匹配文件路径: # find . -regex ".*\(\.txt|\.pdf\)$

 

基于正则表达式匹配文件路径(忽略大小写): # find . -iregex ".*\(\.txt|\.pdf\)$"

 

找出/home下不是以.txt结尾的文件: # find /home ! -name "*.txt"

 

限定查找目录深度:# find . -maxdepth 3 -type f

 

查找后再处理:

1)删除

# find . -type f -name "*.gz" -mtime +30 -exec rm -f {} \;

# find . -type f -name "*.gz" -mtime +30 -ok rm {} \;

# find . -type f -name "*.gz" -mtime +30 |xargs rm -f

-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。-exec末尾需要 ; 且需转义即 \;

 

2)改名

# find . -name "*.txt" -exec mv {} {}.bak \;

# find . -name "*.txt"|xargs -i mv {} {}.bak

5.61-集群介绍.md

 

什么是集群

 

多台机器一起提供服务,这些机器的集合就是集群。

 

集群分类

 

高可用

 

不存在单点,即,如果一个机器宕机不影响服务。

常见开源软件:keepalived heartbeat

 

负载均衡

 

把负载均衡地分担到多台机器上。论坛服务器1台不够了,我们再加1台,用户请求会分摊到这两台机器上。

常见开源软件:LVS Nginx haproxy

 

分布式集群

 

它实际上是集合了高可用和负载均衡为一体的一种集群。它的特点是,可以无限制的横向扩容。

 

5.62-为论坛扩容.md

 

1. 克隆虚拟机

修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network

修改主机名

hostnamectl set-hostname aminglinux03

查看ssh配置

vi /etc/ssh/sshd_config

关03机器的mariadb

/etc/init.d/mysqld stop

chkconfig mysqld off

 

2. 准备工作

两台机器上开启nginx,保证能访问论坛

第二台机器03上,关闭mariadb 修改配置文件:

config/config_global.php 修改dbhost中ip地址

config/config_ucenter.php 修改UC_DBHOST 中IP 地址

uc_server/data/config.inc.php 修改UC_DBHOST 中IP 地址

测试,保证两台机器都能正常访问到论坛。 查看访问日志 tail -f /data/logs/bbs.access.log

 

在01机器上开远程连mysql的权限

show grants for 'bbs'@'127.0.0.1';

grant usage on *.* to 'bbs'@'192.168.222.130' identified by password '***';

grant all privileges on 'bbs'@'192.168.222.130';

flush privileges;

 

 

转载于:https://my.oschina.net/u/4067241/blog/3023691

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值