• shell编程100例及代码注释——持续更新


     
    1、编写hello world脚本
    #!/bin/bash
    echo "Hello World!"
    2、通过位置变量创建 Linux 系统账户及密码
    #!/bin/bash
    useradd    "$1" 
    echo "$2"  |  passwd  ‐‐stdin  "$1"

    #$1 是传给脚本的第一个参数,$2 是传给脚本的第二个参数

    # 命名为test.sh,保存退出,调用:
    # bash Test.sh yln 123
    # 创建了名为yln,密码为123的账户
     
     
    3、备份日志
    # 每周 5 使用 tar 命令备份/var/log 下的所有日志文件
    # 编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖
    #!/bin/bash
    # vim  /root/logbak.sh
    tar -czf log-`date +%Y%m%d`.tar.gz /var/log 

    # date使用反引号括起来,反引号表示引号内部的字符作为命令执行,+%Y%m%d限定了date的格式是年月日,反引号在键盘<tab>键上面

    # 脚本调用:
    # crontab ‐e是指系统在某个时间执行的特定的命令或程序,后面的五个数字位是任务执行设置,分别代表分钟,小时,日,月,星期几调用logbak.sh
    crontab ‐e 00 03 * * 5 /root/logbak.sh
     
    4、一键部署 LNMP(RPM 包版本)
    # LNMP是Linux + nginx + mysql + PHP,
    # 编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。
    # 搭建好LNMP环境之后就无需一个一个的输入命令,无需值守,编译安装优化编译参数,
    # 提高性能,解决不必要的软件间依赖,特别针对配置自动优化。
    # 一键部署 LNMP(RPM 包版本)
    # 使用 yum 安装部署 LNMP,需要提前配置好 yum 源,否则该脚本会失败
    # 本脚本使用于 centos7.2 或 RHEL7.2
    #!/bin/bash
    yum ‐y install httpd   # httpd(网页伺服器)实际上是Apache,它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
    yum ‐y install mariadb mariadb‐devel mariadb‐server   # mariadbMariaDB数据库管理系统是MySQL的替代,主要由开源社区在维护,
    # 采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
    yum ‐y install php  php‐mysql   # php‐mysql是搭配服用的:免费的 MySQL 数据库通常是通过 PHP 来使用的
    systemctl start httpd mariadb   # linux系统启动服务:启动httpd mariadb
    systemctl enable httpd mariadb  # linux系统设置开机自启动
     
    5、监控内存和磁盘容量,小于给定值时报警
    # 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员
    # 提取根分区剩余空间(/)
    # df:显示磁盘分区上的可使用的磁盘空间,/代表linux根目录,linux所有目录都由它衍生出来
    # awk:后面接条件+{动作},这里是按分隔符分割管道命令左边的域,然后打印第4个域,/等价于下面的Mem
    # 提取内存剩余空间
    # free:用来查看可用内存,有两行物理内存:Mem,交换内存:swap,这里是提取第一行第四列
    # 注意内存和磁盘提取的空间大小都是以 Kb 为单位
    # if后面方括号写明条件,如果条件为真,执行then后面的命令
    # -le:shell中大于,大于等于,小于等于,lt,gt,ne,ge,le
    # -a: shell的if有-a至-z的参数,-a file,代表:如果file存在则为真
    # -s: 邮件主题,root:收件人,<<EOF.....是邮件内容
    #!/bin/bash
    disk_size=$(df / | awk '///{print $4}')
    mem_size=$(free | awk '/Mem/{print $4}')
    while :
    do
    if  [  $disk_size -le 512000 -a $mem_size -le 1024000  ]
    then
        mail  ‐s  "Warning"  root  
    	<<EOF
    	Insufficient resources,资源不足
    EOF
    fi
    done
    

      

    
    
    May we all proceed with wisdom and grace. https://www.cnblogs.com/YlnChen/
  • 相关阅读:
    自定义主键自增规则 Oracle Mssql(全库唯一标识)
    SQL Server 字符串 参数详解
    js 实现类似C# 委托的那种效果
    网页页面“返回到顶部”
    js substr与substring的区别
    js 格式化时间/Date(1425027069000)/格式化为yyyy-MM-dd HH:mm:ss
    js 设置一个按周期向服务器发送请求 推荐是用 setTimeOut函数
    jquery 几个常用的选择器
    Oracle
    小议出参入参
  • 原文地址:https://www.cnblogs.com/YlnChen/p/12706981.html
Copyright © 2020-2023  润新知