linux Shell学习笔记第五天

所属分类: 脚本专栏 / 其它 阅读数: 1902
收藏 0 赞 0 分享

第五天:函数与任务调度

函数的优势

分而治之f

协同合作

方便管理

维护简单

函数的结构

    function 函数名()

    {

        命令1

        命令2

        命令3

    }

函数的参数传递

    向函数传递参数就像在一般脚本中使用特殊变量$1,$2,$3…$9一样,函数取得所传参数后将原始参数传回shell脚本,因此最好先在函数内重新设置变量保存所传的参数。这样如果函数有一点错误,就可以通过已经本地化的变量名迅速加以跟踪。

函数文件

    当你手机一些经常使用的函数时,可以将之放入函数文件中并将文件载入shell。

    文件头应包含语句#!/bin/bash,文件名可任意选取,但最好与相关任务有某种实际联系。

    #!/bin/bash

    #注释

    function1()

    {

    }

函数文件示例

functions.main

#!/bin/bash

#functions.main

findit()

{

    if [$# -lt 1 ];then

        echo “usage:findit file”

        return 1

    fi

    find / -name $1 –peint

}

函数使用示例

    . functions.main            载入函数

    set                        查看是否载入函数

    findit                    调用函数

    findit functions.main        调用函数

    unset findit                删除findit函数

单次任务调度

    at用于在指定时间调度一次性的任务.

    格式:

        at [选项] time

            -f 从文件中读取命令或脚本

            -m在作业完成后,给用户发电子邮件

            -v 显示作业呗执行的时间

    服务启动与停止

        service atd start

        service atd stop

    删除任务 atrm

单次任务调度示例

    at –f mycrontest.sh 10:00pm tomorrow

    at –f mycrontest.sh 2:00am Tuesday

    at –f mycrontest.sh 2:00pm Feb 11

    at –f mycrontest.sh 2:00pm next week

循环调度crontab

    crontab可以定期运行一些作业任务。它是一个脚本,每次linux启动时都会自动启动该脚本。

    格式:

        crontab [-e [UserName]|-l [UserName]|-r [UserName]]

            -e执行文字编辑器来设定时程表

            -l 列出文字编辑器来设定时程表

            -r删除目前的时程表

            -v列出用户cron作业的状态

crontab配置

    crontab可以定期运行一些作业任务。它是一个脚本,每次linux启动时都会自动启动该脚本。

    全局配置文件 /etc/crontab

    用户配置文件 /var/spool/cron/

crontab的用户配置

    /etc/cron.allow

    /etc/cron.deny

/etc/crontab

SHELL=/bin/bash

PATH=/sbin;/bin:/usr/sbin;/usr/bin

MAILTO=root

HOME=/

01 **** root run-parts /etc/cron.hourly

02 4*** root run-parts /etc/cron.daily

22 4**0 root run-parts /etc/cron.weekly

42 41** root run-parts /etc/cron.monthly

 五个字段,分 时 日 月 星期

crontab应用场景

    每五分钟测试与网关192.168.1.254是否连通 ping */5 * * * *

    用户alex每个周日中午12点备份samba的配置文件

    0 12 * * 0 tar –czvf samba.tar.gz /etc/samba/smb.conf

总结回顾

    函数的优势

        协同合作

        检查方便

        高级灵活

    任务调度的方式

        at

        crontab

更多精彩内容其他人还在看

FcScript V1.0 使用说明帮助文件

FcScript是由Forcal和MForcal支持的脚本控件(这两个动态库必须在windows搜索路径内,或者在文件夹“c:\FcDll”中),目前仅定义了VBScript接口,以后再增加其他接口。VBScript接口全部使用VARIANT参数。
收藏 0 赞 0 分享

用CE5.2版找武林外传一级基址的方法(图文教程)

好帖子,正好解决了我的遇到的瓶颈问题,收藏一下
收藏 0 赞 0 分享

linux Shell学习笔记第一天

从昨天开始看Shell的教程到现在已经两天了。现在把记录的笔记发出来,目前是很乱,主要是留给自己看看,后续等差不多了会整理统一发布出来。
收藏 0 赞 0 分享

linux Shell学习笔记第二天

今天做笔记稍微整理了下,但是避免不了出现错误,如果有错误麻烦大家给提出,本文最后将会共享今天的三个脚本文件。
收藏 0 赞 0 分享

linux Shell学习笔记第三天

今天收获还是比较多的。 半个小时的教程看了将近3个小时
收藏 0 赞 0 分享

linux Shell学习笔记第四天

今天的内容比较重要。循环的,课后作业还在研究中,出来答案后会贴到最后。
收藏 0 赞 0 分享

linux Shell学习笔记第五天

最近看Shell有点头晕了,再看一天就要忙公司的squid问题了。 现在双线机房即将成为单线机房。
收藏 0 赞 0 分享

linux Shell学习笔记最后一节,温故与知新

linux Shell学习笔记最后一节,这节是对前面章节的小结,学习shell编程的朋友可以参考下。
收藏 0 赞 0 分享

一个不错的shell 脚本教程 入门级

一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂
收藏 0 赞 0 分享

脚本发生错误怎么解决 当前页的脚本发生错误的解决方法小结

我们经常在访问网页的时候,右下角经常出现脚本错误提示,记得一家国外的银行因为这个原因导致业务受到很大的影响,如果放到网站上对用户也容易产生一些错觉,网站有问题,不安全等等疑问
收藏 0 赞 0 分享
查看更多