• shell脚本之while for if 语句和编写计划任务


    关于while循环:

    while

    do

    done

    例如

    1、关于内存的实时操作:

    (1)、vim a.sh

    (2)、输入以下while循环

    (3)、./a.sh执行脚本

    2、自加一的操作:

    (1)、vim b.sh

    (2)、先赋值xyy=1,再输入当xyy<=10时,则输出xyy的值,并且执行加1的命令(即xyy++),直至等于10为止,最后输出每次的结果

    (3)、./b.sh执行脚本

    3、关于登录循环的操作:

    (1)、vim 2.sh

    (2)、请输入用户名和密码,如果匹配账号密码正确的话,则输出登录成功,如果账号密码不正确的话,则输出,账号和密码是错误的

    (3)、./2.sh执行脚本

     

     

    关于for语句:

    for i in {      }

    do

    done

    例如:

    1、从1-100里取值,并将取到的值挨个输出:

    (1)、vim 3.sh

    (2)、in表示从{  }里面取值给i

    (3)、./3.sh执行脚本

     

     

     2、可以ping IP地址,查看有哪些可以使用:

     (1)、vim 3.sh

    (2)、in表示从{  }里面取值给i

    (3)、./3.sh执行脚本

     

     

    关于if语句

    例如:

    启动nginx服务

    (1)、vim 4.sh

    (2)、chmod +x 4.sh(给4.sh可执行的权限)

    (3)、./4.sh执行脚本

    关于编写任务计划:crontab命令编写

    crontab命令编写计划任务

    语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

    crontab任务配置基本格式:
    *  *  *  *  *  command
    分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

    第1列表示分钟1~59 每分钟用*或者 */1表示
    第2列表示小时1~23(0表示0点)
    第3列表示日期1~31
    第4列表示月份1~12
    第5列标识号星期0~6(0表示星期天)
    第6列要运行的命令

    参  数: 
    -e  编辑该用户的计时器设置。 
    -l  列出该用户的计时器设置。 
    -r  删除该用户的计时器设置。 
    -u<用户名称>  指定要设定计时器的用户名称。

     

    crontab例子

    30 21 * * * /usr/local/etc/rc.d/apache restart #每晚的21:30 重启apache

    45 4 1,10,22 * * /usr/local/etc/rc.d/apache restart #每月1、10、22日的4 : 45重启apache

    10 1 * * 6,0 /usr/local/etc/rc.d/apache restart #每周六、周日的1 : 10重启apache

    0,30 18-23 * * * /usr/local/etc/rc.d/apache restart #每天18 : 00至23 : 00之间每隔30分钟重启apache

    0 23 * * 6 /usr/local/etc/rc.d/apache restart #每星期六的11 : 00 pm重启apache

    * 23-7/1 * * * /usr/local/etc/rc.d/apache restart #晚上11点到早上7点之间,每隔一小时重启 apache

    * */1 * * * /usr/local/etc/rc.d/apache restart #每一小时重启apache

    0 11 4 * mon-wed /usr/local/etc/rc.d/apache restart #每月的4号与每周一到周三的11点重启apache

    0 4 1 jan * /usr/local/etc/rc.d/apache restart #一月一号的4点重启apache

    */30 * * * * /usr/sbin/ntpdate 210.72.145.44 #每半小时同步一下时间

    0 */2 * * * www /usr/bin/somecommand >> /dev/null 2>&1 #以用户www的身份每两小时就运行某个程序:


    0 1 * * * /home/testuser/test.sh
    每天晚上1点调用/home/testuser/test.sh

    */10 * * * * /home/testuser/test.sh
    每10钟调用一次/home/testuser/test.sh
    30 21 * * * /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示每晚的21:30重启apache。

    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示每月1、10、22日的4 : 45重启apache。

    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示每周六、周日的1 : 10重启apache。

    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

    0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示每星期六的11 : 00 pm重启apache。

    * */1 * * * /usr/local/etc/rc.d/lighttpd restart
    每一小时重启apache

    * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
    晚上11点到早上7点之间,每隔一小时重启apache

    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
    每月的4号与每周一到周三的11点重启apache

    0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
    一月一号的4点重启apache

    */30 * * * * /usr/sbin/ntpdate 210.72.145.44
    每半小时同步一下时间

  • 相关阅读:
    Ubuntu中的vsftpd配置
    Ubuntu学习-增加更新源及安装软件及卸载软件
    Ubuntu16.04下安装sublime text3
    需要读的书
    同一机器 部署 两个 jboss
    log4j 总结 精华
    oracle 笔记
    oracle 用户 多个表空间
    json
    json 基础
  • 原文地址:https://www.cnblogs.com/xuyuanyuan123/p/6607137.html
Copyright © 2020-2023  润新知