一、环境变量的定义
1)局部环境变量
创建环境变量名为a和b的赋值
[root@centos01]# a=benet
[root@centos01]# b=6.0
调用局部环境变量
beent[root@centos01]# echo $a $b
beent 6.0
[root@centos01]#
2)全局环境变量
创建全局环境变量
[root@centos01]#export c=accp
[root@centos01]# export d=6.0
调用全局环境变量
[root@centos01]# bash //切换bash
[root@centos01]# echo $C $d //调用环境变量
accp 6.0
[root@centos01]#
3)变量赋值
调用支持符号的变量赋值
[root@centos01]# a=benet
[root@centos01]# echo "$a 6.0"
benet 6.0
[root@centos01]#
将命令执行结果赋值给变量名字并获取当前时间年月日赋值 变量名为date
[root@centos01]# date
2022年 10月 16日 星期日 23:42:42 CST
[root@cent01 ~]# date=`date +%Y%m%d`
[root@cent01 ~]# echo $date
20221016
应用变量将变量名字作为普通字符显示
[root@cent01 ~]# benet='benet $version'
[root@cent01 ~]# echo $benet
benet $version
[root@cent01 ~]#
接受用户输入的内容赋值 变量名为name
[root@cent01 ~]# read -p "请输入名字:" name
请输入名字:bob
[root@cent01 ~]# echo $name
bob
[root@cent01 ~]#
二、位置变量和预定义变量使用脚本
1)使用预定义脚本创建安装apache
创建使用源代码程序安装apache
[root@cent01 ~]# vim install_apache.sh
#!/bin/bash //生明
#email [email protected] //联系方式
echo "挂载云计算光盘:"
mount /dev/cdrom /mnt
ls /mnt
echo "解压源代码程序:"
tar zxf /mnt/httpd-2.2.17.tar.gz -C /usr/src &> /dev/null
ls /usr/src
echo "切换到源代码程序目录:"
cd /usr/src/httpd-2.2.17
pwd
echo "配置apache并检查apache是否安装成功"
./configuer --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite &> /dev/null
make && make && install && &> /dev/null
ls -ld /usr/local/httpd
echo "优化apache命令检查主配置文件是否出错:"
ls /usr/local/httpd/bin/* /usr/local/bin
httpd -t
echo "启动apache服务:"
/usr/local/httpd/bin/apachectl start
echo "查看运行状态"
cd
echo "显示脚本内容$0:"
echo "显示脚本运行状态$?"
netstat -auptn | grep httpd
运行安装apache脚本
[root@cent01 ~]# chmod + ./install_acpahe.sh //添加执行权限
[root@cent01 ~]# ./install_acpahe.sh //执行脚本
创建备份知道位置数据脚本结合显示位置脚本参数应用
创建备份数据脚本
[root@cent01 ~]# vim taretc.sh
#!/bin/bash
date=`date +%Y%m%d`.tar
tar zcf $date $* &> /dev/null
echo "显示脚本名字$0"
echo "显示脚本运行状态$?"
添加执行权限运行脚本
[root@cent01 ~]# chmod +x taretc.sh
[root@cent01 ~]# sh taretc.sh /etc
显示脚本名字taretc.sh
显示脚本运行状态0
[root@cent01 ~]# ls -ld ./20221017.tar
-rw-r--r--. 1 root root 10777207 10月 17 00:20 ./20221017.tar
[root@cent01 ~]#
2)使用脚本和计划周期备份/etc目录内容
创建脚本并添加执行权限
[root@cent01 ~]# vim taretc.sh
#!/bin/bash
date=`date +%Y%m%d`.tar
tar zcf $date $* &> /dev/null
echo "显示脚本名字$0"
echo "显示脚本运行状态$?"
[root@cent01 ~]# chmod +x taretc.sh
创建计划任务间隔两分钟备份一次/etc目录
[root@cent01 ~]# crontab -e
*/2 * * * * /root/taretc.sh
查看备份数据
[root@cent01 ~]# ls -ld ./20221017.tar
-rw-r--r--. 1 root root 10777207 10月 17 00:20 ./20221017.tar
三、创建数据库并建表插入数据 (需提前安装MySQL)
授权访问MySQL的用户
[root@cent01 ~]# mysql -uroot -p123
mysql> grant all on *.* to 'bob'@192.168.100.20 identified by '123';
Query OK, 0 rows affected (0.01 sec)
创建数据库设计表结构
mysql> create database benet;
Query OK, 1 row affected (0.00 sec)
mysql> create table benet.student (姓名 char(4),年龄 int,电话 char(11),身份证号码 char(18),prima
ry key (身份证号码));
Query OK, 0 rows affected (0.01 sec)
mysql> desc benet.student;
+-----------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+----------+------+-----+---------+-------+
| 姓名 | char(4) | YES | | NULL | |
| 年龄 | int(11) | YES | | NULL | |
| 电话 | char(11) | YES | | NULL | |
| 身份证号码 | char(18) | NO | PRI | | |
+-----------------+----------+------+-----+---------+-------+
4 rows in set (0.00 sec)
表里插入数据并查看
mysql> insert into benet.student values ('bob',17,'12345678901','111111111111111');
Query OK, 1 row affected (0.01 sec)
mysql> select * from benet.student;
+--------+--------+-------------+-----------------+
| 姓名 | 年龄 | 电话 | 身份证号码 |
+--------+--------+-------------+-----------------+
| bob | 17 | 12345678901 | 111111111111111 |
+--------+--------+-------------+-----------------+
1 row in set (0.00 sec)
测试手动远程登录备份
[root@cent01 ~]# mysqldump -uroot -p123 --databases benet > ./benet.sql
[root@cent01 ~]# ls -ld ./benet.sql
-rw-r--r--. 1 root root 2137 10月 16 16:35 ./benet.sql
[root@cent01 ~]#
配置备份MySQL服务器
挂载Linux光盘
挂载系统光盘
[root@centos02 ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos02 ~]# ls /mnt
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@centos02 ~]#
配置yum仓库
[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos02 ~]# vim /etc/yum.repos.d/local.repo
[local]
name=centos
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@centos02 ~]#
安装MySQL客户端远程登录MySQL
[root@centos02 ~]# yum -y install mariadb
[root@centos02 ~]# mysql -ubob -p123 -h 192.168.100.10
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.22-log Source distribution
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
创建远程备份MySQL脚本
[root@centos02 ~]# vim backup_database.sh
user="bob" //授权访问MySQL用户
pwss="123" //访问MySQL密码
host="192.168.100.10" //远程访问IP地址
conn="-u $user -p$pass -h $host" //将用户名和地址进行拼接
db="benet" //备份数据库名字
dir="/opt" //备份数据库存储位置
cmd="/usr/bin/mysqldump" //备份数据库命令位置
tima=`date +%F%H%M%S` //备份数据显示时间
name="${db}-$time" //将数据名字和时间进行拼接
cd $dir //切换目录
$cmd $conn --databases $db > ${name}.sql //备份benet数据库
/usr/bin/tsr zcf ${name}.tar.gz ${name}.sql --remove &> /dev/null //对备份数据库进行压缩
[root@centos02 ~]# chmod +x ./backup_databases.sh //添加执行权限
[root@centos02 ~]# sh ./backup_base.sh //执行脚本
[root@centos02 ~]# ls /opt //查看
benet-2022-10-17-17-07-03.tar.gz
创建周期计划任务两分钟备份一次
[root@centos02 ~]# crontab -e标签:benet,变量,备份,centos02,sh,MySQL,root,cent01,值守 From: https://blog.51cto.com/u_15831645/5760461
*/2 * * * * /root/backup_database.sh