最近买了一个VPS有两个IP,想让机器流量走另一个IP。

首先查看当前路由表。

[root@ ~]# ip route show
default via 1.1.1.1 dev eth0
1.1.1.0/24 dev eth0 proto kernel scope link src 1.1.1.88
2.2.2.0/24 dev eth0 proto kernel scope link src 2.2.2.77
169.254.0.0/16 dev eth0 scope link metric 1002

再看一下网络接口的状态,只截取关键信息。

[root@ ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>
mtu 1500
inet 1.1.1.88 netmask 255.255.255.0 broadcast 1.1.1.255
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 2.2.2.77 netmask 255.255.255.0 broadcast 2.2.2.255

修改默认网关从2.2.2.1走。当然,此处的网关要符合上面2.2.2.0/24对应的子网的网关。

ip route replace default via 2.2.2.1 dev eth0:1

原文:https://doub.io/shell-jc3/

1.ServerStatus安装

wget -N --no-check-certificate https://softs.fun/Bash/status.sh && chmod +x status.sh
- 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/status.sh && chmod +x status.sh

2.ServerStatus配置

./status.sh按提示操作

3. 常用命令

3.1客户端

启动:/etc/init.d/status-client start
停止:/etc/init.d/status-client stop
重启:/etc/init.d/status-client restart
查看状态:/etc/init.d/status-client status

3.2服务端

启动:/etc/init.d/status-server start
停止:/etc/init.d/status-server stop
重启:/etc/init.d/status-server restart
查看状态:/etc/init.d/status-server status

3.3 Caddy

启动:/etc/init.d/caddy start
停止:/etc/init.d/caddy stop
重启:/etc/init.d/caddy restart
查看状态:/etc/init.d/caddy status
Caddy配置文件:/usr/local/caddy/Caddyfile

3.4 各种文件存放位置

安装目录:/usr/local/ServerStatus
网页文件:/usr/local/ServerStatus/web
配置文件:/usr/local/ServerStatus/server/config.json
客户端查看日志:tail -f tmp/serverstatus_client.log
服务端查看日志:tail -f /tmp/serverstatus_server.log

3.Nginx配置

在域名根目录显示,比如http://abc.com

server {
    listen 80;
    server_name abc.com;
    location / {
      root /usr/local/ServerStatus/web
    }
}

在域名子目录显示,比如http://abc.com/status

server {
    listen 80;
    server_name abc.com;
    location ~/status(.*)$ {
        alias /usr/local/ServerStatus/web$1;
    }
}

两台机器之间复制数据库

一键复制
在源库机器运行以下语句。名称有特殊字符比如!@#$%^&*的要用引号。
mysqldump -u源库用户明 -p源库密码 --opt 要复制的数据库名称 | mysql -u目标库用户名 -p'目标库密码' -h '目标库所在IP' 目标库名称
mysqldump -uroot -p123456789 --opt userdata | mysql -uroot -p'@bcdefgh' -h '192.168.1.1' newuserdata

压缩传输数据,适用于网速较慢的场景
加上--compress参数。
mysqldump -uroot -p123456789 --opt --compress userdata | mysql -uroot -p'@bcdefgh' -h '192.168.1.1' newuserdata

导出到一个文件,并压缩
mysqldump --quick db_name | gzip > db_name.contents.gz

导入上面的压缩文件
mysqladmin create db_name
gunzip < db_name.contents.gz | mysql db_name

手动备份:

  1. 备份一个数据库
    mysqldump -hhostname -uusername -pmypwd databasename > /path to backup/bakname.sql

备份并压缩
mysqldump -hhostname -uusername -pmypwd databasename | gzip > /path to backup/bakname.sql.gz

  1. 备份多个数据库
    mysqldump -hhostname -uusername -pmypwd databases databasename1 databasename2 databasename3 > /path to backup/bakname.sql
  2. 备份数据库一些表
    mysqldump -hhostname -uusername -pmypwd databasename table1 table2 table3 > /path to backup/bakname.sql
  3. 仅备份数据库结构
    mysqldump -no-data -databases databasename1 databasename2 databasename3 > /path to backup/bakname.sql
  4. 备份所有数据库
    mysqldump -uroot -p -A > /path to backup/bakname.sql

还原数据库

  1. 还原无压缩数据库
    mysql -hhostname -uuser -pmypwd databasename < /path to backup/bakname.sql
  2. 还原压缩数据库
    gunzip < /path to backup/bakname.sql.gz | mysql -hhostname -uusername -pmypwd

迁移到新服务器
mysqldump -hhostname -uuser -pmypwd databasename | mysql -hnew_hostname -C databasename

脚本定时备份

创建备份脚本

vim mysql_backup.sh

#!/bin/sh
# This is a mysql datbase backup shell script.

# set mysql info
hostname="localhost"
user="root"
password="my password"

# set database info
database="bak database name"
bakpath="path to backup"
date=$(date +%Y%m%d_%H%M%S)

# backup
mkdir -p $bakpath
mysqldump -h$hostname -u$user -p$password $database | gzip \ 
> $bakpath/$database_$date_sql.gz

创建定时任务

crontab: crontab 是linux系统下的一个任务调度器

crontab定时服务 启动|结束|状态
service crond start | status | stop

查看config文件,可以看到定时规则

cat /etc/cron

添加备份定时任务

crontab -e

添加定时计划,例如:每天2点执行

0 2 * * * /path to sh/mysql_backup.sh
保存退出

查看当前用户定时任务

crontab -l

查看定时计划日志

tail -f /var/log/cron

作者:walk_and_walk
链接:https://www.jianshu.com/p/b77dfd6d998b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

升级内核脚本:https://teddysun.com/489.html
解决方法来自:http://bbs.itzmx.com/forum.php?mod=viewthread&tid=13852

  1. 创建force-vitio_blk-to-ensure-boot.conf
    echo 'add_drivers+="virtio_blk"' >/etc/dracut.conf.d/force-vitio_blk-to-ensure-boot.conf

2.
cd /boot

3:重新编译生成initramfs,把2个4.10.4-1.el6.elrepo.i686替换成升级后新内核的版本号
dracut -f /boot/initramfs-4.10.4-1.el6.elrepo.i686.img 4.10.4-1.el6.elrepo.i686

4:重启完工
reboot

简介

就是一个防火墙,用来替代iptables。

基本概念

Zones

区域,就是你电脑所在的区域,每个区域有一个基本规则。比如说你的电脑在家,那么各种共享端口是打开的。比如你在公共场所,不仅共享会禁用,而且ping也是不会响应。
然而,服务器建好就不会变更区域。所以只要选好一个区域,之后的规则都添加到这个区域中。
下面是系统自带的区域:

  • drop 丢掉所有入包,不返回任何响应,只能发出连接。
  • block 丢掉所有入包,返回icmp-host-prohibited或者icmp6-adm-prohibited。
  • public 允许指定连接连入。
  • external 估计和public差不多。For use on external networks with masquerading enabled - - especially for routers. You do not trust the other computers on networks to not harm - your computer. Only selected incoming connections are accepted.
  • internal 内网中使用,信任内网中的电脑。允许指定连接。
  • dmz 内网中,一台与外界完全联通,允许部分连接内网其他电脑的电脑。允许指定连接连入。
  • work 工作场所使用,允许指定连接。
  • home 家中使用,允许指定连接。
  • trusted 允许所有连接。

规则

可以针对单个端口写一条规则,也可以把多个相关联的规则合并为一个服务,对服务进行启用和禁用,从而达到批量管理规则的目的。

生效时间

新建规则立即生效,无需重启服务。重启系统后立即失效。要是不小心把ssh端口关掉了,可以重启解决。

  • 加上--permanent 后,规则永久保存。

规则写法

开启端口

firewall-cmd --zone=public --add-port=5000/tcp
firewall-cmd --zone=public --permanent --add-port=4990-4999/udp

关闭端口

firewall-cmd --zone=public --add-remove=5000/tcp
firewall-cmd --zone=public --permanent --remove=4990-4999/udp

查看打开的端口

此处只能查看单条规则打开的E端口,看不到服务,也就是规则集合打开的端口。
firewall-cmd --zone=public --permanent --list-ports

查看允许的服务(规则集)

firewall-cmd --zone=public --list-services

允许一个服务(规则集)

firewall-cmd --zone=public --permanent --add-service=http

禁用一个服务(规则集)

firewall-cmd --zone=public --permanent --remove-service=http

服务(规则集)编写

<?xml version="1.0" encoding="utf-8"?>
<service>
 <short>此处填服务名称</short>
 <description>该服务是干嘛干嘛的,需要打开以下端口</description>
 <port protocol="udp" port="12345"/>
 <port protocol="tcp" port="12345"/>
 <port protocol="udp" port="12346"/>
 <port protocol="udp" port="12346"/>
 <module name="nf_conntrack_netbios_ns"/>
</service>