Shell 编程

shell脚本语言,任何脚本语言都是需要脚本解释器来解释该语言
shell 脚本的解释器我们常用的就是bin/bash
shell 命令返回值变量 反引号如rs=date+%
shell 编程中自定义变量 直接就是变量名=值,输出的时候就是
USER
$HOME
表达式:shell 中表达式有命令表达式 ,数学表达式,字符串表达式,文件判断表达式
控制结构的有 if/case/for/while
文件判断表达式:判断文件是否存在,是否可读/可写/可执行,是否是目录或普通文件等以及用来比较两个文件
的新旧顺序

命令的格式:[ -d/-f/-e/-r/-w/-x 文件名 ]
-d 文件是否存在且是目录
-f 文件是否存在且是文件
-e 是否存在
-r 是否可读
-w 是否可写
-x 是否可执行

文件判断 命令的格式:[ 文件1 -nt/ -ot 文件2 ]
- nt 检查文件1是否为 文件2 新
- ot 检查文件1 是否为 文件2 旧

数学比较表达式
字符串表达式

shell脚本中如何获取参数,我们可以在脚本中用到第一个参数就用 1 2
然后执行脚本时输入按顺序输入参数即可,如 bash 20 30 .脚本文件 这样脚本文件中
120 2 将被赋值为30.

定时任务 定时任务的创建:crontab -e 进入任务编辑状态
格式为 : 命令 五个号分别代表 分时日月周 如
3 2 * * * test 就代表每天2:03执行 test命令
/2 * * * test 代表每2分钟执行test 命令

shell 下书写定时备份数据库

要求:每天凌晨3点,导出sql,按日期压缩,备份,并删除老备份

date -d “-3 day ”返回的就是当前时间往前推三天的时间
date -d “-1 minute”返回的就是往前推一分钟时间

导出mysql中数据库表的命令
mysqldump -uroot -p 数据库密码 -B 数据库表名

1.书写定时任务执行的脚本
#!/bin/bash
new=date +%Y%m%d%k%M
old= date -d “-10 minute”+%Y%m%d%k%M
mysqldump -uroot -p 数据库密码 -B 数据库表名 >你所需要存放的位置

cd 你需要存放的位置
tar zcf 压缩文件
rm -f 删除压缩前的文件
if [ -f old 压缩文件 ] //判断老的备份文件是否存在
then
rm -f old 压缩文件 //如果有就删除
fi
2.执行当时任务
crontab -e 进入编辑模式
/2 * * * /bin/bash 1中书写的任务脚本 代表每2分钟执行1中书写的任务脚本

控制结构:除去常用的循环外 for 循环 有两种 一个是shell风格的for 循环
一种是c 语言下的for 循环

shell 风格的for循环 for i 循环的东西
           do
             循环体
           done 

c语言风格的for循环 for(i=1;i<10;i++)
             do
               循环体
             done 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值