[内容] 第三方软件源的使用 (通过 webtatic 安装 php)(CentOS Linux & RHEL 版)

内容一:为什么使用第三方软件源

本地搭建的软件源往往会有以下缺点:

1) 软件不够全,需要使用的软件没有
2) 软件版本不够高,在功能、性能和安全方面达不到要求
3) 使用第三方网络软件源有时可以解决以上问题

内容二:webtatic

2.1 webtatic 源简介

1) webtatic 是一个致力于将实现 web 服务的各类软件
2) webtatic 通过 yum 安装
3) webtatic 是一个免费的开源 yum 源项目


注意:
1) webtatic 项目并没有在社区认可的软件源列表中:
2) 社区认可的软件源列表网址:https://wiki.centos.org/zh/AdditionalResources/Repositories

2.2 使用 webtatic 的方法


注意:
1) 如果过去已经使用了其他的第三方 yum 源,最好先删除原来的第三方 yum 源
2) 如果过去已经安装了相应的软件,最好先删除这些软件而不是使用第三方 yum 源对他们进行升级

2.2.1 安装 webtatic 的 epel
# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
2.2.2 安装 webtatic
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2.2.3 清理原来的 yum 源缓存
# yum clean all
2.2.4 此时可以开始安装软件了
2.2.4.1 显示所有软件列表
# yum list all
2.2.4.2 安装想要的软件爱你

# yum install <softeware>

2.2.5 删除 webtatic
# rpm -e epel-release ;; rpm -e webtatic-release

[工具] Shell 统计 LNMP 本月与上月的网站点击量和 IP 访问数

介绍

基本信息

作者:朱明宇
名称:统计 LNMP 本月与上月的网站点击量和 IP 访问数
作用:统计 LNMP 本月与上月的网站点击量和 IP 访问数

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量

1. user=”root” #登录 Web 服务器的用户,请确保这个用户有创建缓存备份目录的权限
2. ip=”8.8.8.8″ #Web 服务器的 IP 地址

注意

此脚本执行前必须要先保证执行脚本的主机能无秘钥远程这台 Web 服务器

脚本

#!/bin/bash

####################### Separator ########################

user="root"
ip="8.8.8.8"

####################### Separator ########################

monthcache1=$(date +%m)
case $monthcache1 in
01)
month=Jan
lmonth=Dec;;
02)
month=Feb
lmonth=Jan;;
03)
month=Mar
lmonth=Feb;;
04)
month=Apr
lmonth=Mar;;
05)
month=May
lmonth=Apr;;
06)
month=June
lmonth=May;;
07)
month=July
lmonth=June;;
08)
month=Aug
lmonth=July;;
09)
month=Sept
lmonth=Aug;;
10)
month=Oct
lmonth=Sept;;
11)
month=Nov
lmonth=Oct;;
12)
month=Dec
lmonth=Nov
esac

cmonth=`ssh $user@$ip "grep $month /usr/local/nginx/logs/access.log | wc -l"`
clmonth=`ssh $user@$ip "grep $lmonth  /usr/local/nginx/logs/access.log | wc -l"`
cipmonth=`ssh $user@$ip "grep $month /usr/local/nginx/logs/access.log" | awk '{a[$1]++}END{for(i in a){print i}}' | wc -l `
ciplmonth=`ssh $user@$ip "grep $lmonth /usr/local/nginx/logs/access.log" | awk '{a[$1]++}END{for(i in a){print i}}' | wc -l`

echo "The count of month's hits:$cmonth 次"
echo "The count of month's IP address:$cipmonth 个"
echo "The count of last month's hits:$clmonth 次"
echo "The count of last month's IP address:$ciplmonth 个"

[工具] Shell 统计 LNMP 今天与昨天的网站点击量和 IP 访问数

介绍

基本信息

作者:朱明宇
名称:统计 LNMP 今天与昨天的网站点击量和 IP 访问数
作用:统计 LNMP 今天与昨天的网站点击量和 IP 访问数

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本

脚本分割线里的变量

1. user=”root” #登录 Web 服务器的用户,请确保这个用户有创建缓存备份目录的权限
2. ip=”8.8.8.8″ #Web 服务器的 IP

注意

此脚本执行前必须要先保证执行脚本的主机能无秘钥远程这台 Web 服务器

脚本

#!/bin/bash

####################### Separator ########################

user="root"
ip="8.8.8.8"

####################### Separator ########################

tday=`date +%d`

sys=`uname -a | awk '{print $1}'`

if [ $sys == 'Linux' ];then
        yday=`date +%d -d "-1 day"`
else
        yday=`date -v-1d +%d`
fi

cday=`ssh $user@$ip "grep $tday/$month  /usr/local/nginx/logs/access.log | wc -l"`
cyday=`ssh $user@$ip "grep $yday/$month  /usr/local/nginx/logs/access.log | wc -l"`
cipday=`ssh $user@$ip "grep $tday/$month  /usr/local/nginx/logs/access.log" |awk '{a[$1]++}END{for(i in a){print i}}' | wc -l`
cipyday=`ssh $user@$ip "grep $yday/$month  /usr/local/nginx/logs/access.log" |awk '{a[$1]++}END{for(i in a){print i}}' | wc -l`

echo "The count of today's hits:$cday 次"
echo "The count of today's IP address:$cipday 个"
echo "The count of yesterday's hits:$cyday 次"
echo "The count of yesterday's IP address:$cipyday 个"

[生产] Shell 将网站的全量数据备份到本电脑并运行 (Mac 版)

介绍

基本信息

作者:朱明宇
名称:将网站的全量数据备份到本电脑并运行(Mac 版)
作用:将一台 Web 服务器上的网页文件和数据库数据全量备份到本地 Mac 主机,再通过本地的 Mac 主机 Web 服务将它跑起来

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
4. 可以设置定时任务让他定期自动执行,也就是(sudo crontab -e)

脚本分割线里的变量

1. user=root #登录 Web 服务器的用户,请确保这个用户有创建缓存备份目录的权限
2. ip=8.8.8.8 # Web 服务器的 IP
3. dbadmin=root #Web 服务器备份 MariaDB 数据库的数据库用户
4. dbpassword=”‘123456′” #Web 服务器备份MariaDB 数据库的用户的密码
5. path=/backup #本地主机放置备份的目录
6. filename=backup #备份文件的中间名
7. cache=/cache #Web服务器用来缓存备份的目录,请确保这个目录没有其他用途,且能被登录 Web 服务器的用户创建
8. html=/web-file #本地主机存放网页文件的目录,请确保当前的 Mac 系统用户对他有写和执行权限否则请更改网页文件的目录

注意

1. 此脚本执行前必须要先保证执行脚本的主机能无秘钥远程这台 Web 服务器
2. 请保证本机的 MariaDB 并没有设置密码
3. 此脚本执行前必须要先保证执行脚本的主机 MAMP 平台已经搭建好了
4. 本地 MairaDB 的密码为空
5. 此脚本备份的网页文件是 WordPress

脚本

#!/bin/bash

####################### Separator ########################

user=root
ip=8.8.8.8
dbadmin=root
dbpassword="'123456'"
path=/backup
filename=backup
cache=/cache
html=/web-file

####################### Separator ########################

date=$(date +%Y-%m-%d-%H)

ping -c3 -i0.8 $ip > /dev/null

if [ $? -eq 0 ];then

        ssh $user@$ip "mkdir $cache &> /dev/null"
        ssh $user@$ip "mysqldump -u$dbadmin -p"$dbpassword" -A > $cache/$filename-$date.sql"
        ssh $user@$ip "cd /usr/local/nginx/html/
        tar -cvf $cache/$filename-$date.tar.gz .[!.]* * &> /dev/null"

        mkdir -p $path/$date &> /dev/null
        scp $user@$ip:$cache/$filename-$date.sql $path/$date
        scp $user@$ip:$cache/$filename-$date.tar.gz $path/$date
        ssh $user@$ip "rm -rf $cache\*"

fi

rm -rf $html/*
tar -xvf $path/$date/$filename-$date.tar.gz -C $html/
mysql -u$dbadmin < $path/$date/$filename-$date.sql
rm -rf $html/index.html

sed -i "" s/"'DB_USER', '.*'"/"'DB_USER', 'root'"/ $html/wp-config.php
sed -i "" s/"'DB_PASSWORD', '.*'"/"'DB_PASSWORD', ''"/ $html/wp-config.php
sed -i "" s/"'DB_HOST', '.*'"/"'DB_HOST', '127.0.0.1:3306'"/ $html/wp-config.php
mysqladmin -uroot password ''