当前位置: 首页 > news >正文

农产品电子商务网站建设濮阳h5建站

农产品电子商务网站建设,濮阳h5建站,大型车产品网站建设,兰州网站制作成都1 为什么要学习Shell编程 对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shel脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本. 对于大数据程序员来说,需要编写Shell程序来管理集群 2 Shell是什么 Shell是一个命令行解释器#xff…1 为什么要学习Shell编程 对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shel脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本. 对于大数据程序员来说,需要编写Shell程序来管理集群 2 Shell是什么 Shell是一个命令行解释器它为用户提供了一个向Linux内核发送请求以便裕兴程序的界面系统级程序用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 3 Shell脚本的执行方式 1sh脚本文件格式要求 a.在内容的最前面以#!/bin/bash 开头 #!/bin/bash b.脚本需要有可执行权限 如创建一个hello.sh脚本 2脚本的常用执行方式 a.方式1 首先要赋予xx.sh脚本的x权限chmod 744 myShell.sh chmod ux hello.sh 执行脚本./myShell.sh ./hello.sh b.方式2sh脚本 说明不用赋予x权限直接执行即可 sh hello.sh 4 shell的变量 1shell变量的介绍 Linux Shell的变量分为系统变量和用户自定义变量 系统变量$HOME、$PWD、$SHELL、$USER等等显示当前shell中所有变量set指令 set 2shell变量的自定义 基本语法 定义变量 //等号两边不能有空格 变量值 撤销变量 unset 变量 声明静态变量 //注意静态变量不能撤销set readonly 变量 如 3定义变量的规则 变量名称可以由字母、数字和下划线组成但是不能以数字开头等号两侧不能有空格变量名称一般习惯为大写 4将命令的返回值赋给变量 反引号,表示执行里面的指令并将结果赋值给定义的变量 //表示执行data指令并将data指令执行的结果赋值给变量A Adate $()等价于 Adate 等价于 A$(date) 如 5设置环境变量 基本语法 将shell变量输出为环境变量全局变量 export 变量名变量值 修改全局/环境变量后需要刷新配置文件才可以生效 让修改后的配置文件信息立即生效 source 配置文件 查询环境变量的值 echo $变量名 如 6多行注释 :!需要注释的内容 ! 7位置参数变量 当我们执行一个shell脚本时如果希望获取到命令行的参数信息就可以使用到位置参数变量。比如 ./myshell.sh 100 200这个就是一个执行shell的命令行可以在myshell脚本中传参100200。 基本语法 //n为数字$0代表命令本身$1-$9代表第一到第九个参数10以上的参数需要用大括号包含如${10} $n//这个变量代表命令行中所有的参数$*把所有的参数看成一个整体 $*//这个变量也代表命令行中所有的参数不过$把每个参数区分对待 $//这个变量代表命令行中所有参数的个数 $# 如 8预定义变量 shell设计者事先已经定义好的变量可以直接在shell脚本中使用 基本语法 //当前进程的进程号PID $$//后台运行的最后一个进程的进程号PID $!//最后一次执行的命令的返回状态。如果这个变量的值为0证明上一个命令正确执行如果这个变量的值为非0具体是哪个数由命令自己来决定则证明上一个命令执行不正确。 $?//后台运行在脚本文件后面加上 即是进行后台运行 脚本文件.sh 5 运算符 1算术运算符 在Shell中进行各种运算操作 语法 $[运算式] 或 $((运算式)) 或 expr m n 注意 expr m n注意expr运算符间要有空格expr m - nexpr \* / %乘除取余 如 2比较运算符 字符串类型比较 字符串比较 整数类型比较 -lt小于-le小于等于-eq等于-gt大于-ge大于等于-ne不等于 6 条件判断 1基本语法 [ condition ] [ condition ]注意condition前后有空格非空返回true可使用$?验证0为true1为false 2字符串比较判断 如判断ok是否等于ok等于输出相等 if [ ok ok ] thenecho 相等 fi 3数值比较判断 如判断12是否大于9大于输出大于 if [ 12 -gt 9 ] thenecho 大于 fi 4按照文件权限进行判断 -r有读的权限-w有写的权限-x有执行的权限 如判断是否对a.txt有写的权限有写的权限会输出有写的权限 if [ -w a.txt ] thenecho 有写的权限 fi 其他同理 5按照文件类型进行判断 -f文件存在并且是一个常规的文件-e文件存在-d文件存在并且是一个目录 如判断a.txt文件是否存在存在在控制台输出文件存在 if [ -e a.txt ] thenecho 文件存在 fi 其他同理 7 流程控制 1if语句 基本语法 单分支 if [ 条件判断式 ] then程序 fi 多分支 if [ 条件判断式 ] then程序elif [ 条件判断式 ] then程序 fi 2case语句 基本语法 case $变量名 in “值1”) 变量匹配值1则执行这里 ;;“值2”) 变量匹配值2则执行这里 ;;…省略其他分支…*) 如果变量的值都不匹配则执行这里 ;; esac 3for循环 基本语法1 for 变量 in 值1 值2 值3… do执行的代码 done 基本语法2 for ((初始值;循环控制条件;变量变化)) do执行的代码 done 案例1循环输出填写的参数 for $A in $ doecho $A done 案例2求和求1-10相加的总和 4while循环 基本语法1 while [ 条件判断式 ] do执行的程序 done 注意 [ 条件判断式 ] []和里面的条件判断式之间有空格 8 read读取控制台的输入 基本语法 read [选项] (参数) 选项 -p指定读取值时的提示符-t指定读取值时等待的时间秒如果没有在指定的时间内输入就不再等待了。 参数 变量指定读取值的变量名 案例读取控制台输入的一个NUM值要求在10秒输入10不输入就默认退出 read -p 请输入一个数字 -t 10s NUM echo $NUM 9 函数 1系统函数 basename函数 返回完整路径最后/的部分常用于获取文件名 语法 basename [pathname] [suffix] basename命令会删掉所有的前缀包括最后一个/选项suffix为后缀如果suffix被指定了basename会将pathname或string中的suffix去掉 案例1 basename /aa/bb/cc/a.txt 得到a.txt字符串 案例2 basename /aa/bb/cc/a.txt .txt 得到去掉后缀的文件名 dirname函数 返回完整路径最后/的前面的部分常用于返回路径部分 语法 dirname 文件绝对路径 从给定的包含文件名的绝对路径中返回目录部分 案例 dirname /aa/bb/cc/a.txt 得到路径/aa/bb/cc 2自定义函数 基本语法 function 函数名(){执行语句[return int;] //有返回值的时候 } 调用函数语法 函数名 参数 如编写一个函数计算两个数的和 10 Shell编程综合案例 1需求分析 每天凌晨210备份数据库atguiguDB到/data/backup/db备份开始和备份结束能够给出相应的提示信息备份后的文件要求以备份时间为文件名并打包成.tar.gz的形式比如2018-03-12_230201.tar.gz在备份的同时检查是否有10天前备份的数据库文件如果有就将其删除。 2实现流程 实现流程如下 先创建一个shall.sh脚本文件用于实现数据库的备份和备份文件的删除以及提示使用crond定时器来定时调用该脚本文件 3实现 编写脚本文件 先编写脚本文件mysql_rjx.sh //进入到/sbin目录 cd /sbin//创建并编辑.sh脚本文件 vim mysql_rjx.sh 编辑脚本文件内容 #!/bin/bash#备份目录 BACKUP/data/backup/db #获取当前时间 DATETIMEdate %Y-%m-%d_%H%M%S echo $DATETIME#数据库访问地址 HOSTlocalhost #数据库用户名 DB_USERroot #数据库密码 DB_PWrjx666aaa #需要备份的数据库 DATABASErjxedu#创建备份目录,如果目录不存在就创建 if [ ! -d $BACKUP/$DATETIME ] thenmkdir -p $BACKUP/$DATETIME fi#开始备份数据库 mysqldump -u$DB_USER -p$DB_PW --host$HOST -q -R --databases $DATABASE | gzip $BACKUP/$DATETIME/$DATETIME.sql.gz#将文件打包为.tar.gz格式 cd $BACKUP tar -zcvf $DATETIME.tar.gz $DATETIME#删除.sql.gz的文件及其父目录 rm -rf $DATETIME#删除10天前的备份文件 find $BACKUP -atime 10 -name *.tar.gz -exec rm -rf {} \; echo 备份数据库$DATABASE 成功 创建定时器执行脚本文件 crontab -e 并编辑 30 2 * * * /usr/sbin/mysql_rjx.sh 示意图 指令解释 #开始备份数据库 mysqldump -u$DB_USER -p$DB_PW --host$HOST -q -R --databases $DATABASE | gzip $BACKUP/$DATETIME/$DATETIME.sql.gz #删除10天前的备份文件 find $BACKUP -atime 10 -name *.tar.gz -exec rm -rf {} \;
http://www.w-s-a.com/news/257498/

相关文章:

  • 网站app建设用discuz做的手机网站
  • vs 2008网站做安装包公众号登录超时
  • 银川做网站推广wordpress dux会员中心
  • 双辽做网站wordpress怎么写html代码
  • 建站公司哪家好 知道万维科技西安都有哪些公司
  • 设计网站官网入口佛山 品牌设计
  • 专用网站建设wordpress mega
  • 网站建设与优化推广方案内容网站整站下载带数据库后台的方法
  • 做网站PAAS系统外链是什么意思
  • 网页设计专业设计课程googleseo排名公司
  • 网站百度百科那些免费网站可以做国外贸易
  • 做视频的网站有哪些南京计算机培训机构哪个最好
  • ppt做视频 模板下载网站商业街网站建设方案
  • 佛山网站定制开发星光影视园网站建设案例
  • wordpress子站点商务网页设计与制作微课版答案
  • 山东省住房城乡和建设厅网站软件开发主要几个步骤
  • 可以接项目做的网站网站源码php
  • 杭州广众建设工程有限公司网站网页游戏人气排行榜
  • 上海网站开发建设最简单的网站代码
  • 东莞做网站建设免费网站建设案例
  • 莱州建设局网站wordpress的主题下载地址
  • 二级网站域名长沙企业关键词优化服务质量
  • 在家有电脑怎么做网站wordpress 入门主题
  • 什邡建设局网站sem推广是什么意思
  • 西安分类信息网站网站敏感关键词
  • 黑彩网站怎么做建设网站费用分析
  • 网站关键词选取的步骤和方法小程序商城哪家好排行榜
  • 儿童产品网站建设网站建设优化排名推广
  • 做网站的硬件无锡招标网官方网站
  • 做推送好用的网站合肥网站推广培训