linux

位置:IT落伍者 >> linux >> 浏览文章

linux Shell学习笔记第五天


发布日期:2022年11月11日
 
linux Shell学习笔记第五天

第五天函数与任务调度

函数的优势

分而治之f

协同合作

方便管理

维护简单

函数的结构

function 函数名()

{

命令

命令

命令

}

函数的参数传递

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

函数文件

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

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

#!/bin/bash

#注释

function()

{

}

函数文件示例

functionsmain

#!/bin/bash

#functionsmain

findit()

{

if [$# lt ];then

echo usage:findit file

return

fi

find / name $ –peint

}

函数使用示例

functionsmain载入函数

set查看是否载入函数

findit调用函数

findit functionsmain调用函数

unset findit删除findit函数

单次任务调度

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

格式

at [选项] time

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

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

v 显示作业呗执行的时间

服务启动与停止

service atd start

service atd stop

删除任务 atrm

单次任务调度示例

at –f mycrontestsh :pm tomorrow

at –f mycrontestsh :am Tuesday

at –f mycrontestsh :pm Feb

at –f mycrontestsh :pm 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/cronallow

/etc/crondeny

/etc/crontab

SHELL=/bin/bash

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

MAILTO=root

HOME=/

**** root runparts /etc/cronhourly

*** root runparts /etc/crondaily

** root runparts /etc/cronweekly

** root runparts /etc/cronmonthly

五个字段分 时 日 月 星期

crontab应用场景

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

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

* * tar –czvf sambatargz /etc/samba/nf

总结回顾

函数的优势

协同合作

检查方便

高级灵活

任务调度的方式

at

crontab

               

上一篇:利用命令进行简单的增量文件夹备份(win/linux)

下一篇:linux生成(加载)动态库静态库和加载示例方法