澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:勤学苦练题四,OEMPRO安装

2019-06-29 作者:服务器运维   |   浏览(51)

邮件服务器搭建——linux中PowerMTA OEMPRO安装与配置方案,powermtaoempro

安装包下载:

链接: 密码: pakj

选择服务器:centos 6.x版本

安装步骤:

上传安装包data.tar.gz到linux目录:/usr/local/src

访问路径:cd /usr/local/src

解压:tar zxvf data.tar.gz

剪切目录:mv /usr/local/src/data/* /usr/local/src

安装:sh install.sh

安装成功后,修改配置文件:/etc/pmta/config

vi 435 /etc/pmta/config找到错误行修改IP和域名:
smtp-source-host yourIP yourdomain
修改结果示例如下
smtp-source-host 你的ip  绑定的域名

若有多域名、多IP可直接在该行下添加,再次执行pmtad –debug会发现没有报错信息了
执行/etc/init.d/pmta start启动服务

在浏览器中输入104.236.229.211:7100可以查看一个发送情况等的web界面
另外2525是STMP的端口,这个以及7100端口均可在 vi /etc/pmta/config配置文件中修改如下内容来实现:
http-mgmt-port 7100
smtp-port 2525
修改后运行/etc/init.d/pmta进行重启
配置文件中的如下部分用于配置用户名和密码:
<smtp-user tiger>
password tiger123
source {smtpuser-auth}
</smtp-user>

配置文件(/etc/pmta/config)相关配置
1.Domain Macro
domain-macro topLevel com, de, co.uk
domain-macro aol aol, aim
用以匹配aol.com, aim.de等域名
<domain $aol.$topLevel>
…settings…
</domain>

  1. max-msg-rate 发送频率
    Oempro配置
    email delivery:SMTP或PowerMTA
    Load Balancing设置Oempro每间隔多少秒向PMTA发送多少封邮件
    pickup路径设置,在/etc/pmta/config中进行设置,tmp改PowerMTA提取邮件的路径,
    pickup /var/www/tmp /var/www/badmail
    同时需对这两个文件夹设置权限(chmod 777)
    为提升体验,可对Oempro默认退订的页面设置退订成功/失败跳转:
    templates/weefive/desktop/public/success.tpl
    templates/weefive/desktop/public/error.tpl
    <script type=”text/javascript”>
    window.setTimeout(“window.location=’);
    </script>
    读取日志
    能过PMTA OEMPRO方案发送邮件会在/var/log/pmta下按日期产生日志,记录发送的情况,投递成功通常会在日志中返回2.0.0 (success),而多数异常情况将会返回5.*.*的状态码,如5.0.0为This account has been disabled or discontinued和5.7.1 (delivery not authorized)等等,关于此类状态码可参考邮件营销之bounce类型。通过如下代码可导出包含这些异常情况的邮箱
    cat /var/log/pmta/acct-2015-*.csv | grep ‘.*5.[0-9].[0-9].*’ >> /root/bounce.txt
    cat /root/bounce.txt | awk -F “,” ‘{print $6}’ >> /root/bounceemail.txt
    以上输出两个文件主要是方便读取bounce.txt进行进一步的验证,当然也可以选择直接使用如下语句直接输出邮箱:
    cat /var/log/pmta/acct-2015-*.csv | grep ‘.*5.[0-9].[0-9].*’ | awk -F “,” ‘{print $6}’ >> /root/bounceemail.txt
    而如果想要取出已经不存在的邮箱,可以只提取5.0.*和5.1.*的部分,仅需使用
    cat /var/log/pmta/acct-2015-*.csv | grep ‘.*5.[0-1].[0-9].*’ | awk -F “,” ‘{print $6}’ >> /root/hardbounceemail.txt

OEMPRO文件默认解压在 /var/www/html/oem/

安装oem

数据库:oem

密码:oempro

账户:oem

安装即可

 共同学习,请加我q:1009460226

看完扫码免费领红包

LAMP的编译日志,,LAMP编译日志,

在CentOS5.2上,编译LAMP的,两年前测试通过的,现在留印

 

### 在记事本中 ,不要打开 自动换行,否则一些命令 无法正常运行
###把源文件考到/src/目录下,然后进入/src
/////////////////////////////////////////////////////////////////////

cd /src
tar zxvf autoconf-2.61.tar.gz
tar zxvf libxml2-2.6.30.tar.gz
tar zxvf freetype-2.3.5.tar.gz
tar zxvf mysql-5.1.67.tar.gz
tar zxvf gd-2.0.35.tar.gz
tar zxvf httpd-2.2.9.tar.gz
tar zxvf php-5.2.6.tar.gz
tar zxvf jpegsrc.v6b.tar.gz
tar zxvf phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
tar zxvf ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
tar zxvf libpng-1.2.31.tar.gz
tar zxvf zlib-1.2.3.tar.gz
tar zxvf ncurses-5.6.tar.gz
rm -rf *.gz

 

cd /src/libxml2-2.6.30
./configure --prefix=/usr/local/libxml2
make && make install

cd /src/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make && make install

cd /src/zlib-1.2.3
./configure
make && make install

cd /src/libpng-1.2.31
./configure --prefix=/usr/local/libpng
make && make install

cd /src/jpeg-6b
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make && make install

cd /src/freetype-2.3.5
./configure --prefix=/usr/local/freetype
make && make install

cd /src/autoconf-2.61
./configure
make && make install

cd /src/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/

vi gd_png.c

 

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////
###
### (上面的make未成功,修改完gd_png.c后,再做一次)
### vi gd_png.c
### 修改 #include "png.h" 为 #include "/usr/local/libpng/include/png.h" 即可。系统默认找不到
### 注意下一行,可能不成功!!进入安装目录检查,如不成,再做一次./configure
###
////////////////////////////////////////////////////////////////////////////////////////////////////////////

./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/

make && make install

cd /src/httpd-2.2.9
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make && make install

cd /src/ncurses-5.6
./configure
make && make install

cd /src/mysql-5.1.67
groupadd mysql
useradd -g mysql mysql
./configure --prefix=/usr/local/mysql --with-extra-charsets=all
make && make install
cp /src/mysql-5.1.67/support-files/my-medium.cnf /etc/my.cnf

/usr/local/mysql/bin/mysql_install_db --user=mysql

cd /src/php-5.2.6
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets

make && make install

cp /src/php-5.2.6/php.ini-dist /usr/local/php/etc/php.ini

vi /etc/httpd/httpd.conf

 

///////////////////////////////////////////////////////////////////////////////////////////
###
### vi /etc/httpd/httpd.conf
###
### 在<IfModule mime_module> 节点 加入
### Addtype application/x-httpd-php .php
### 让它支持php为后缀的文件
###
### 在<Directory "/usr/local/apache2/htdocs">节点
### 将 Options Indexes FollowSymLinks
### 修改为 Options -Indexes FollowSymLinks
### 从Indexs前加上减号。这样即可关闭目录浏览。
### 在紧靠它的下面
### 将AllowOverride None
### 修改为 AllowOverride All
### 这样支持伪静态
###
### 在<IfModule dir_module>节点
### 将 DirectoryIndex index.html
### 修改为 DirectoryIndex index.html index.php
### 加上index.php。加上了默认索引页。
###
###
////////////////////////////////////////////////////////////////////////////////////////////

cd /src/ZendOptimizer-3.2.6-linux-glibc21-i386
./install.sh

////////////////////////////////////////////////////////////
###
### 输入 php.ini的目录
### /usr/local/php/etc/
###
/////////////////////////////////////////////////////////////

cp -a /src/phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin
cd /usr/local/apache2/htdocs/phpmyadmin/
cp config.sample.inc.php config.inc.php
vi config.inc.php

/////////////////////////////////////////////////////////////
###
### 加入一个密钥
### $cfg['blowfish_secret'] = ""
### 此处加入密钥
###
//////////////////////////////////////////////////////////////

vi /etc/init.d/mysql

///////////////////////////////////////////////////////////
###
需粘贴的内容

#!/bin/sh
#chkconfig:2345 50 20
#description:TralinHotel Mysql 5.1.64 Server

case "$1" in
'start')
echo "Starting TralinHotel Mysql Database..."
/usr/local/mysql/bin/mysqld_safe --user=mysql &
;;
esac

###
### 存盘后,赋予权限
###

 

chmod 777 /etc/init.d/mysql

vi /etc/init.d/apache

 

///////////////////////////////////////////
需要粘贴的内容

#!/bin/sh
#chkconfig:2345 40 10
#description:TralinHotel Apache Http Server

case "$1" in
'start')
echo "Starting TralinHotel Apache Http Server..."
/usr/local/apache2/bin/apachectl start
;;
'stop')
echo "Stop TralinHotel Apache Http Server..."
/usr/local/apache2/bin/apachectl stop
;;
'restart')
echo "Restart TralinHotel Apache Http Server..."
/usr/local/apache2/bin/apachectl restart
esac

//////////////////////////////////////////
存盘后,赋予权限
//////////////////////////////////////////////
chmod 777 /etc/init.d/apache

chkconfig --add mysql
chkconfig --add apache

 

 

///////////////////////////////////////////////

后续问题
mysql的安全性
mysql的字符集
samba的win共享

///////////////////////////////////////////////

1.打开mysql的控制台
/usr/local/mysql/bin/mysql

a.设置安全性

mysql> select * from mysql.user G
mysql> delete from mysql.user where host='localhost' and user = '';
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abc123');

b.设置字符集

未修改前 ,在查看 >status; 就可以看到4个latin1

vi /etc/my.cnf

在 [client] 节
加入
default-character-set = utf8
在[mysqld]节点
加入
character-set-server = utf8
collation-server = utf8_general_ci

重启后,输入

/usr/local/mysql/bin/mysql -u root -p
输入密码后,登陆后台
mysql> status;
查看,对应四个utf8

 

shell监控

#######################################################################
shell 脚本监控报警
#######################################################################

service sendmail stop
chkconfig sendmail off

##检查
pstree |grep sendmail

### 安装postfix

yum -y install postfix*

### 安装dovecot

yum -y install dovecot*

 

###配置postfix /etc/postfix/
cd /etc/postfix

vi main.cf

#myhostname = host.domain.tld 改为
##服务器主机名
myhostname = mail.g.cn
##服务器域名
mydomian = g.cn

##发件人的@的后缀
myorigin =$myhostname
myorigin =$mydomain

###监听接口,(将最下的那个注释掉)
inet_interfaces = all
#inet_interfaces =localhost

###收邮件的后缀
mydestination = $myhostname,$mydomain

###服务器所处网段
mynetworks = 192.168.7.0/24, 127.0.0.0/8

###允许邮局转发
relay_domains = $mydestination

###启动postfix
service postfix start
pstree | grep master
netstat -tunpl |grep 25
chkconfig postfix on

###设置默认的邮件转发服务器 由sendmail制定为postfix
alternatives --config mta
出现的提升中,输入编号,回车,即设定默认程序

###配置dovecot, /etc/dovecot.conf
vi /etc/dovecot.conf
##将这行的注释去掉
protocols = imap imaps pop3 pop3s

service dovecot restart
chkconfig devocot on
netstat -tunpl | grep 110

###写脚本。
### apache 关闭的报警

#!/bin/bash
#apache.sh

nc -w2 localhost 80
if [ $? -ne 0 ]
then
echo "apache's 80 port is down,please check. from xuyong"|mail [email protected] -s "tralin

apache is down"

/usr/local/apache2/bin/apachectl start

fi

 

####mysql的脚本

#!/bin/bash
#mysql.sh

nc -w2 localhost 3306
if [ $? -ne 0 ]
then
echo "mysql's 3306 port is down,please check form xuyong"|mail [email protected] -s"mysql is

down"
/usr/local/mysql/bin/mysqld_safe &

fi

 

####磁盘的脚本>80%

#!/bin/bash
#disk.sh

num=`df |awk 'NR==3{print int($4)}'`
if [ $num -ge 80 ]
then
echo "disk space is ${num}%,now > 80% "|mail [email protected] -s "disk space > 80% warining!"
fi

 

####测试
dd if=/dev/zero of=test.txt bs=1M count=1000

###加入计划任务
###每5分钟,执行一次,

crontab -e

*/5 * * * * /disk.sh
*/5 * * * * /mysql.sh
*/5 * * * * /apache.sh

crontab -l
查看计划任务

#############################################################################################

清理root邮箱的

#############################################################################################

如果是全部清除,可用cp /dev/nulll /var/spool/mail/root

要删除一封信,则在 mail 的提示符号下,使用命令

& d〔letter-number〕

例如,要删除第二封信,可用如下的方式 & d 2

若欲删除第一封到第三封信,则可下如下的命令 & d 1-3

若要杀掉全部的信,则可以使用 & d *

做root转发,因为root不能远程登录收取邮件。所以做了一个别名。比如[email protected]

vi /etc/aliases ← 编辑aliases,添加如下行到文尾

root: [email protected]

newaliases← 重建aliasesdb

echo test | mail root← 发送测试邮件给root

#############################################################################################

改源的,yum

#############################################################################################

REDHAT yum源修改成CENTOS
1,先将原来的YUM源备份
#mv /etc/yum.conf /etc/yum.conf.bak
#cp -a /etc/yum.repos.d /etc/yum.repos.d.bak
#vim /etc/yum.conf
[main]

  cachedir=/var/cache/yum

  debuglevel=2

  logfile=/var/log/yum.log

  pkgpolicy=newest

  distroverpkg=redhat-release

  tolerant=1

  exactarch=1

  obsoletes=1

  # PUT YOUR REPOS HERE OR IN separate files named file.repo 这两行注释可能会报错,到时候删除即可

  # in /etc/yum.repos.d

 

#cd /etc/yum.repos.d

#rm -rf *

#vim CentOS-Base.repo

[base]
name=centos-5 - Base
baseurl=
# the other site:
# you can find more site in:
enabled=1
gpgcheck=1
gpgkey=
#released updates
[update]
name=CentOS-5 - Updates
baseurl=
gpgcheck=1
gpgkey=
#packages used/produced in the build but not released
[addons]
name=CentOS-5 - Addons
baseurl=
gpgcheck=1
gpgkey=
#additional packages that may be useful
[extras]
name=CentOS-5 - Extras
baseurl=
gpgcheck=1
gpgkey=
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 - Plus
baseurl=
gpgcheck=1
enabled=0
gpgkey=
#contrib - packages by Centos Users
[contrib]
name=CentOS-5 - Contrib
baseurl=
gpgcheck=1
enabled=0
gpgkey=
#packages in testing
[testing]
name=CentOS-5 - Testing
baseurl=
gpgcheck=1
enabled=0
gpgkey=

###################################################################################################

, 在CentOS5.2上,编译LAMP的,两年前测试通过的,现在留印 ### 在记事本中 ,不要打开 自动换行,否则一些命...

CentOS Linux release 7.3.1611 (Core)

练习题四,

APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外开放的,whois3就可以在Linux帮助我们获取中国电信、网通、铁通的地址段:

Linux aftree.6oo0.com 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

第1章 练习题

whois3 install


1.1 每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包)

=========================================================================
# wget
# tar xf ripe-dbase-client-v3.tar.gz -C /usr/local/src/
# cd /usr/local/src/whois3-3.2.2
# ./configure

自定义脚本:/usr/local/sbin

1.1.1 测试命令

[[email protected] ~]# cd / && tar zcf /data/www_`date %F`.tar.gz  var/www/html

# make && make install

编译软件安装位置:/usr/local

1.1.2 写入脚本中

[[email protected] /]# cat /server/scripts/www.sh

cd / && tar zcf /data/www_`date %F`.tar.gz  var/www/html

获取网通、电信、铁通ip网段

# whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > cnc
# whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > chinanet

源码包放位置:/usr/local/src

1.1.3 测试脚本

[[email protected] ~]# sh /server/scripts/www.sh

# whois3 -h whois.apnic.net -l -i mb MAINT-CN-CRTC > crtc


1.1.4 写入定时任务

[[email protected] /]# crontab -l |tail -2

#### backup /var/www/html dir

00 00  * * *  /bin/sh  /server/scripts/www.sh >/dev/null 2>&1

处理获取数据

# cat cnc  | grep inetnum  | awk -F: '{print $2}' | sed -r 's/( *)(.*)/2/' | tr -d " " > cnc_ipcalc
# cat chinanet  | grep inetnum  | awk -F: '{print $2}' | sed -r 's/( *)(.*)/2/' | tr -d " " > chinaet_ipcalc
# cat crtc  | grep inetnum  | awk -F: '{print $2}' | sed -r 's/( *)(.*)/2/' | tr -d " " > crtc_ipcalc
# cat crtc_ipcalc //处理成类似如下的格式
... ...
61.236.250.0-61.236.250.255
61.236.251.0-61.236.251.255

39.106.63.4

1.1.5 检查执行结果

[[email protected] ~]# ll /data/

total 16

-rw-r--r--  1 root root 154 Sep 11 09:44 www_2017-09-11.tar.gz

... ...

ipcalc是Linux下的IP/子网计算器
RHEL自带的ipcalc版本较低,去官网下载最新的ipcalc即可
# wget
# tar xf ipcalc-0.41.tar.gz -C /usr/local/src
# /usr/local/src/ipcalc-0.41/ipcalc 61.236.250.0-61.236.250.255 | grep -v dea
//以下的结果就是我们需要的结果
61.236.250.0/24
#

# cat ipcalc.sh //查看如下转换脚本

#!/bin/bash
###########
##by kumu##
###########
while (( $# > 0 ))
do
    while read line
    do
        /usr/local/src/ipcalc-0.41/ipcalc $line | grep -v dea
    done < $1 >> $1.txt
    shift
done
# 

# ./ipcalc.sh cnc_ipcalc chinanet_ipcalc crtc_ipcalc
# ls *.txt
chinanet_ipcalc.txt  cnc_ipcalc.txt  crtc_ipcalc.txt
# tail -5 cnc_ipcalc.txt
210.22.0.0/16
210.21.0.0/16
218.106.240.0/20
210.13.64.0/18
220.250.32.0/19
#
到此就完成所有的转换了,国内IP地址汇总并以 网段/掩码 格式显示澳门新萄京官方网站 1

Mariadb:Yum安装

1.2 每周 六、日 上午 9:00和下午 14: 00  来老男孩这里学习(执行程序/server/script/oldboy.sh代替学习)。

00 9,14 * * 0,6  /bin/sh /server/scripts/oldboy.sh >/dev/null 2>&1

                     0表示周日

                     6表示周六

OracleJDK:/usr/local

1.3 描述下列路径的内容是做什么的。

/etc/sysctl.conf            系统内核的配置文件

/etc/rc.local               开机自启动

/etc/hosts                  ip与域名的对应关系 ,解析主机名

/etc/fstab                  开机自动挂载

/var/log/secure             用户登陆信息,主要查看其中的Failed


1.4 请说出下列 grep 正则表达式的含义

^         以...开头的行

$         以...结尾的行

.(点号)    任意一个字符

         在转义字符  n t

*           前一个字符练习出现0次或1次以上

{n,m}       前一个字符连续出现,至少n次,最多m

[^t]         取不包含t的

^[^t]        以不是t的开头

Zabbix

1.5  排除文件中的空行和空格

Jenkins

1.5.1 文件的内容

[[email protected] ~]# cat -A mun.txt

znix1$

znix2$

znix3$

$

znix4$

      $

znix5$

      $

znix6$

ELK

1.5.2 egrep方法

找出空行  -v参数排除

[[email protected] ~]# egrep -n "^ *$" mun.txt

4:

6:     

8:     

10:

14:

[[email protected] ~]# egrep -n  "^$|^ $" mun.txt

4:

6:     

8:     

10:

14:

Nginx:反向代理

1.5.3 awk方法

[[email protected] ~]# awk '!/^[ ]*$/' mun.txt

znix1

znix2

znix3

znix4

znix5

znix6

JumpServer

1.6 把passwd.txt 第一列取出来


1.6.1 文件内容

[[email protected] ~]# cat passwd.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

2017-10-24

1.6.2 排除思想

[[email protected] ~]# egrep "^[^:] " passwd.txt  -o

root

bin

……

There were 95 failed login attempts since the last successful login.

1.6.3 sed方法

[[email protected] ~]# sed -r 's#(^.*)(:x.*:)(.*)#321#g' passwd.txt

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

……

排除不是以 :开头的行

[[email protected] ~]# sed -r 's#(^[^:] )(.*:)(/.*$)#321#' passwd.txt

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

……

#curl -s

1.6.4 awk方法

awk中的变量:

-vOFS=":"

OFS 的内容就是 , 的内容

awk在显示每一列内容的时候,每一列之间的分隔符

-v 修改和创建awk可以使用的变量

[[email protected] ~]# awk -F: -vOFS=":" '{print $NF,$2,$3,$4,$5,$6,$1}' passwd.txt

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

……

当前 IP:39.106.63.4 来自:广东省深圳市 阿里云

1.7 vi/vim命令、快捷键

 含义

命令

退出保存

:wq

退出并强制保存,!为强制的意思

:wq!

强制退出,不保存 

:q!

另存为

:q  /tmp/****

光标移动到文件的最后一行

G

光标移动到文件的第一行

gg

光标移动到文件的100行

100gg 100G :100

从光标所在位置将光标移动到当前行的开头

0  ^

从光标所在位置将光标移动到当前行的结尾

$

删除当前行的内容

dd

删除当前行到文件的最后一行的内容 

dG

删除当前行到文件的第一行的内容

dgg

粘贴

p

粘贴10次

10p

复制

yy

取消上一次的动作

u

删除一行

dd

/ 搜索内容

继续向下搜索              n

继续向上搜索              N

向上搜索 

?

取消对找到的内容的高亮显示

:noh

查看SELinux状态:

1.7.1 编辑services定位到第100行把这一行复制到文件的最后一行粘贴10次。

100gg

yy

G

10p

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

1.8 授权 oldboy 目录及其子目录 755 的权限。

chmod -R 755 oldboy

SELinux status:                enabled

1.9 把 oldboy 目录及其子目录的属主改为 oldboy,组改为 root。

chown  oldboy.lodboy oldboy.txt

2、getenforce                ##也可以用这个命令检查

1.9.1 修改时可能发生的错误

[[email protected] ~]# id oldboy

uid=500(oldboy) gid=501(incahome) groups=501(incahome)

[[email protected] ~]# chown oldboy.oldboy oldboy-new.txt

[[email protected] znix ~]# chown oldboy.oldboy num.txt

chown: invalid user: `oldboy.oldboy'

检查oldboy用户是否存在,检查oldbo这个用户组是否存在

关闭SELinux:

1.10 描述下 umask 的作用.

umask管理着linux默认的权限

实例1-1 当umask为021时

file 权限为644

 666-021 001=644

dir 权限为 756

 777-021=756

1、临时关闭(不用重启机器):

1.11 每天打包备份 /etc/rc.local /etc/hosts /etc/services 到 /backup目录。

setenforce 0                  ##设置SELinux 成为permissive模式

1.11.1 测试命令

[email protected] ~]# cd / && tar zcf /backup/file`date %F`.tar.gz  etc/rc.local  etc/hosts etc/services

  [email protected] /]# ll /backup/file2017-09-11.tar.gz

-rw-r--r-- 1 root root 127455 Sep 11 15:41 /backup/file2017-09-11.tar.gz

##setenforce 1 设置SELinux 成为enforcing模式

1.11.2 写入脚本

[[email protected] /]# cat /server/scripts/file.sh

cd / && tar zcf /backup/file`date %F`.tar.gz  etc/rc.local  etc/hosts etc/services

2、修改配置文件需要重启机器:

1.11.3 测试脚本

[[email protected] /]# sh /server/scripts/file.sh

[[email protected] /]# ll /backup/file2017-09-11.tar.gz

-rw-r--r-- 1 root root 127455 Sep 11 15:44 /backup/file2017-09-11.t

[[email protected] /]# cat /server/scripts/file.sh

修改/etc/selinux/config 文件

1.11.4 写入定时任务

### beifen zhongyaowenjan

00 00 * * * /bin/sh /server/scripts/file.sh >/dev/null 2>&1

将SELINUX=enforcing改为SELINUX=disabled

1.11.5 测试定时任务

[[email protected] ~]# date -s '23:59:29'

Mon Sep 11 23:59:29 CST 2017

[[email protected] ~]# ll /backup/file2017-09-1*

-rw-r--r-- 1 root root 127455 Sep 11 15:44 /backup/file2017-09-11.tar.gz

-rw-r--r-- 1 root root 127455 Sep 12  2017 /backup/file2017-09-12.tar.gz

重启机器即可

第2章 回顾课程

#

2.1 定时任务


每隔 2 个小时将/etc/services 文件打包备份到/tmp 下(最好每次备份成不同的备份包)

2017-11-1

2.1.1 测试命令

[[email protected] ~]# cd / && /bin/tar zcf /tmp/ser_`date %F_%H`.tar.gz  etc/services

linux下用top命令查看cpu利用率超过100% - 记事本 - CSDN博客 

2.1.2 放入脚本中

[[email protected] ~]# cat /server/scripts/ser.sh

cd / && /bin/tar zcf /tmp/ser_`date %F_%H`.tar.gz  etc/services

看具体应用。web丢包在7%以下没事。网游基本不能丢包。

2.1.3 测试脚本

[[email protected] ~]# sh /server/scripts/ser.sh

nginx高峰期并发,每秒1000  10台服务器处理动态请求 日活90万 3台nginx 我这高峰期nginx扛的链接也就5000个

2.1.4 写入定时任务

[[email protected] ~]# crontab -l |tail -2

#backup /etc/services

00 */2 * * * /bin/sh /server/scripts/bak-ser.sh >/dev/null 2>&1

HTTP:TIME_WAIT 过多如何优化

2.1.5 检查定时任务是否成功

1)是否打包成功,看看文件里面是否有追加的信息

澳门新萄京官方网站:勤学苦练题四,OEMPRO安装与陈设方案。2)查看定时任务日志 /var/log/cron

使用tcping命令ping指定端口 - CSDN博客 

2.2 无法连接linux

ps命令中的%CPU字段和top命令中的%CPU字段 - CSDN博客 

2.2.1 道路是否通畅

ping ip地址

实例2-1 无法ping通的解决办法:

服务器的ip地址是否正确

服务器网卡是否启动,即ONBOOT是否为yes

系统网卡的配置

实例2-2 VMware相关的:

vmware-5个服务是否启动

vmware配置-网卡是否连接

查看你vmware网卡的vmnet8 是否已经启动

每天一个linux命令(58):telnet命令 - peida - 博客园 

2.2.2 是否有人劫财劫色

查看 iptables selinux是否关闭

PHP ffmpeg nginx的配置实现视频转码 - j393819650的博客 - CSDN博客 

2.2.3 是否有人提供服务

实例2-3 看22端口是否开启

方法一: telnet 10.0.0.200 22

方法二: ss -lntup |grep 22

实例2-4 进程是否在运行

ps -ef |grep sshd


2.3 linux无法上网怎么办

2017-11-2

2.3.1 ping 域名

域名无法ping 通

[[email protected] ~]# ping centos.houzhaoshun.cn

ping: unknown host centos.houzhaoshun.cn

 

查看服务器的公网IP地址

2.3.2 ping  外网ip

可以ping 通

[[email protected] ~]# ping 123.206.66.149

PING 123.206.66.149 (123.206.66.149) 56(84) bytes of data.

64 bytes from 123.206.66.149: icmp_seq=1 ttl=128 time=63.1 ms

64 bytes from 123.206.66.149: icmp_seq=2 ttl=128 time=60.5 ms

curl -s ip.cn

2.3.3 检查dns配置文件

[[email protected] ~]# cat /etc/resolv.conf

当前 IP:39.106.63.4 来自:广东省深圳市 阿里云

2.3.4 修改配置文件

修改完成重启网卡,生效

[[email protected] ~]# service network restart

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:  Determining if ip address 10.0.0.201 is already in use for device eth0...

                                                           [  OK  ]

获取SSH登录用的IP地址(w、who)

2.4 检查一个软件是否按照 rpm 相关

一、找sshd进程

2.4.1 查询某个软件包是否安装

[[email protected] ~]# rpm -qa tree

tree-1.5.3-3.el6.x86_64

ps -ef|grep sshd

2.4.2 查询软件包里面的内容

[[email protected] ~]# rpm -ql tree

/usr/bin/tree

/usr/share/doc/tree-1.5.3

/usr/share/doc/tree-1.5.3/LICENSE

/usr/share/doc/tree-1.5.3/README

/usr/share/man/man1/tree.1.gz

root      1693    1  0 Aug13 ?        00:00:00 /usr/sbin/sshd  #父进程号是1的是系统服务进程

2.4.3 查询某个命令属于哪个软件包

查询的时候要使用绝对路径

[[email protected] ~]# rpm -qf `which crond` 

cronie-1.4.4-16.el6_8.2.x86_64

 

第1章 练习题 1.1 每天晚上 12 点,打包站点目录 /var/www/html 备份到 /data 目录下(最好每次备份按时间生成不同的备份包) 1.1....

root    12598  1693  2 14:59 ?        00:00:00 /usr/sbin/sshd  #有这个进程说明有SSHD远程客户登录

root    12638  1693  0 15:02 ?        00:00:00 /usr/sbin/sshd  #这是第二个登录用户

root    12633 12600  0 14:59 pts/0    00:00:00 grep sshd

二、根据登录上来的进程号找到用户进程

#ps -ef|grep 12598

root    12598  1693  0 14:59 ?        00:00:00 /usr/sbin/sshd

root    12600 12598  0 14:59 pts/0    00:00:00 -bash            #第一个用户,居然还是用root登录的。

#ps -ef|grep 12633

root    12638  1693  0 15:02 ?        00:00:00 /usr/sbin/sshd

root    12640 12638  0 15:02 pts/1    00:00:00 -bash            #第二个用户

三、根据bash进程的终端号pts/?来确定来源

[root@redhat root]# who -a|grep pts/1

root    pts/1        Aug 14 15:02 00:03      12640 (192.168.0.123)  #登录来源IP192.168.0.123

[root@redhat root]# who -a|grep pts/0

root    pts/0        Aug 14 14:59  .        12600 (192.168.0.123)  #登录来源IP192.168.0.123


截取指定时间段日志

计算指定范围内的和(计算每个人1月份的工资之和)

[root@test ~]# cat test.txt

Tom    2012-12-11      car    53000

John   2013-01-13      bike    41000

vivi    2013-01-18      car    42800

Tom    2013-01-20      car    32500

John   2013-01-28      bike    63500

[root@test ~]# awk '{split($2,a,"-");if(a[2]==01){b[$1] =$4}}END{for(i in b)print i,b[i]}' test.txt

vivi 2800

Tom2500

John4500

使用awk命令获取文本的某一行,某一列 - CSDN博客 

cat access.2012010.log | awk '{a[$1] } END {for(b in a) print b"t"a[b]}' | sort -k2 -r | head -n 5 - CSDN博客 

awk技巧-!a[$0] - abinNO1的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园 

cat access.2012010.log | awk '{a[$1] } END {for(b in a) print b"t"a[b]}' | sort -k2 -r | head -n 5 - CSDN博客 

linux awk时间计算脚本及awk命令详解_linux shell_脚本之家 

【转】linux下awk内置函数的使用(split/substr/length) - myLittleGarden - 博客园 

日志分析查看——grep,sed,sort,awk运用 - CSDN博客 

awk有大小比较功能。

当要查询某一个时间段的日志信息的时候,比较一下用传统的egrep命令和awk命令的不同

抽出maillog里面11月1日的8点到23点的日志.

1.如果用egrep的话,我会分成以下3次抽出

egrep "Nov 1 0[8-9]" maillog > file.log

egrep "Nov 1 1[0-9]" maillog > file.log

egrep "Nov 1 2[0-2]" maillog > file.log

2.如果用awk会简单很多

cat maillog |awk '$1=="Nov" && $2=="1"' |awk '$3>="08:00:00" && $3<"23:00:00"' > file.log

linux下使用awk命令按时间段筛选日志

zcat com.log20160529.gz | grep 'dianping_reply'| awk '{split($4,array,"[");if(array[2]>="29/May/2016:00:00:26"&& array[2]<="29/May/2016:00:01:14"){print$0}}'

解释

扫描gz压缩文件,从中寻找带有`dianping_reply`的行,将改行按照`[`进行拆分,然后直接使用if条件进行判断,比较,最终输出想要的结果。

sed -n '/14:[0-9][澳门新萄京官方网站:勤学苦练题四,OEMPRO安装与陈设方案。0-9]:[0-9][0-9]/p’ haproxy.log  截取14点的日志

cat  haproxy.log-20160302 | grep xslhzzx | grep -v kibana | awk '$3>"14:00:00" && $3<"17:00:00"'

截取14点到17点之间的日志

截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作:

1,sed查看某时间段到现在的系统日志:

sed  -n  '/May 20 17/,$p'  /var/log/messages  |  less

2,sed 截选时间段日志:

假如日志的格式是--

“2015-05-04 09:25:55,606 后面跟日志内容 ”这样的

目标是需要将05-04的09:25:55 和09:28:08 之间的日志截取出来:

使用sed命令如下:

sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’  logfile

这样可以精确地截取出来某个时间段的日志。

如果需要截取的日志太大,达到几个G的话,不能去vi打开文件:

根据之前的日志格式,使用正则表达式:

sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’  logfile

如果没有问题的话,上面就能筛选出指定的时间段的日志。

8.根据日期时间段查询(前提日志总必须打印日期,先通过grep确定是否有该时间点)

sed-n'/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'app.log


2017-11-2 下午

准备启用nginx做反向代理,避免与httpd端口冲突,修改httpd的端口为8088,后发现httpd、nginx、tomcat均无法通过web访问。

1.如何修改httpd、nginx、tomcat端口

2.修改了阿里云安全组,永续所有IP访问

3.以为限制IP访问了,暂时只针对域名绑定国内主机做限制

4.route

澳门新萄京官方网站 2

多了第二条

浏览器报网络错误的原因

5.小飞帮忙telnet了一下

Trying

39.106.63.4

...

telnet: connect to address

39.106.63.4

: No route to host

报这个错,百度发现,是iptables的原因,iptables -F 恢复正常。

6.如何去掉centos下讨厌的169.254.0.0的静态路由 - 风之别鹤 - 51CTO技术博客 

无法访问web,报错为网络错误时

ping  IP

telnet IP

tcping IP 端口   可以加端口ping

涉及的命令总结:

① ping ip: 查看某一个ip地址是否能够连通,如: ping 114.80.67.193

② telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080

③ 退出命令: exit---退出dos窗口,q!,wq---Linux下退出vi编辑器

ctrl ],之后在按q ---退出telnet界面

quit---退出mysql.......


2017-11-27

澳门新萄京官方网站 3

澳门新萄京官方网站 4

安全初始化MySql服务器 - IDO老徐测试职业窝 - CSDN博客 

澳门新萄京官方网站 5

CentOS7.3安装Jumpserver0.3.2 

jumpserver.conf 修改其端口


2017-11-27 --- 修改主机名

修改主机名

如何在CentOS 7上修改主机名hostname - Better Me的博客 - CSDN博客 

澳门新萄京官方网站 6

CentOS6修改主机名(hostname)(转) - Better Me的博客 - CSDN博客 

centos7 设置hostname - www520507的专栏 - CSDN博客 

vmware centos7 clone mac地址导致 Failed to start LSB: Bring up/down networking. - Better Me的博客 - CSDN博客 

centos7 hostnamctl详解

设置命令提示符

修改主机名后,可退出当前shell重新登录,即可正常显示

Linux操作系统下/etc/hosts文件配置方法 - RHCE - 51CTO技术博客 

hostname 与 hosts文件

本文由澳门新萄京官方网站发布于服务器运维,转载请注明出处:澳门新萄京官方网站:勤学苦练题四,OEMPRO安装

关键词: