文档章节

三 脚本编写与运行

o
 osc_z1hvg4cu
发布于 2018/04/24 23:00
字数 699
阅读 0
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

 

 

编写脚本的思路:

 

明确脚本实现的功能
哪些数据是变化的,把变化的数据用变量来表示
使用哪种流程控制
使用哪些系统命令

 

 

 

创建第一个脚本

1、编写脚本代码

使用vim文本编辑器
每行一条Linux命令,按执行顺序依次编写

 

 



2、赋予可执行权限

若直接执行脚本文件,必须具有可执行属性

 

 



3、执行脚本文件

脚本文件路径/脚本名或./脚本名 (当前路径下执行脚本)
sh 脚本名或bash 脚本名 不需x权限(推荐使用)
source 脚本名或. 脚本名   不需x权限 #注意”.”点号

 

 

 

说明:

 

1.第三种方法是使用source或者”.”点号读入或加载指定的shell脚本文件(如san.sh),然后依次执行指定shell脚本文件san.sh中的所有语句。
这些语句将作为当前父shell脚本father.sh进程的一部分运行。因此,使用source或者”.”点号可以将san.sh自身脚本中的变量的值或函数等的返回值传递到
当前的父shell脚本father.sh中使用。这是第三种方法和前两种的最大区别。也是值得读者注意的地方。

2 Source或者”.”点号命令的功能是在当前shell中执行source或者”.”点号加载并执行的相关脚本文件中的命令及语句,

而不是产生一个子shell来执行命令文件中的命令。

 

 

 

 

 

正常的Shell脚本

 

脚本声明(需要的解释器、作者信息等)
注释信息(步骤、思路、用途、变量含义等)
可执行语句(操作代码)

 

 

 

 

 

 

脚本应用实例

 

 

1.3天备份一次MySQL数据库

 

2.编写一个脚本,实现以下目标:

 

每次root用户登录后,自动报告当前登录的用户数、打开的进程数、剩余可用内存、剩余交换空间

 

3.list_sys_status.sh显示系统使用的以下信息:主机名、ip地址、子网掩码、网关、DNS服务IP地址

 

ifconfig | head -2 | tail -1 | awk '{print $2}' | awk -F ":" '{print $2}'

 

 

 

 

mysqlbak.sh备份数据库目录脚本

 

#!/bin/bash
DAY=`date +%Y%m%d`
SIZE=`du -sh /var/lib/mysql`
echo "Data: $DAY" >> /tmp/dbinfo.txt
echo "Data Size: $SIZE" >> /tmp/dbinfo.txt
cd /opt/dbbak &> /dev/null || mkdir /opt/dbbak;cd /opt/dbbak
tar zcf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt &> /dev/null
rm -f /tmp/dbinfo.txt

 

 

 

5.每周日半夜23点半,对数据库服务器上的webdb库做完整备份。把备份文件保存在系统的/mysqlbak目录里,用系统日期做备份文件名 webdb-YYYY-mm-dd.sql

每次完整备份后都生成新的binlog日志把当前所有的binlog日志备份到/mysqlbinlog目录下。

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Python 基础(十七):装饰器

更多内容,请点击上方蓝字关注查看! 1 闭包 首先我们来了解下闭包,什么是闭包呢?看一下维基百科给出的解析: 闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(funct...

Python小二
01/15
0
0
Ubuntu忘记root密码

在系统启动时,长按ESC或shift键进入grub 选择高级选项,然后回车进入下图: 输入e,进入下图: 将图中的ro recovery nomodeset改为quiet splash rw init=/bin/bash,改完如下 按'F10'键,数秒...

osc_jpwyxabk
22分钟前
25
0
MRAM技术随着航空航天局走向轨道

MRAM(磁性RAM)是一种使用电子自旋来存储信息的存储技术(MRAM设备是Spintronics设备)。MRAM具有成为通用存储器的潜力,能够将存储存储器的密度与SRAM的速度结合在一起,同时始终保持非易失...

英尚微电子
23分钟前
11
0
网站通用 敏感词列表

好吧,敏感词本身被博园屏蔽了。只能存为附件了 https://blog-static.cnblogs.com/files/batsing/min_word.zip

osc_dihgscoq
24分钟前
0
0
.Net Core使用Unity替换原生DI

一、DIP、IOC、DI   面对对象设计原则可以帮助我们开发出更好的程序,其中有一个依赖倒置原则DIP并由此引申出IOC、DI等概念。就先粗略的了解一下: DIP(依赖倒置原则):程序要依赖于抽象接...

osc_6t6cjs45
25分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部