linux Shell学习笔记第五天
第五天:函数与任务调度
函数的优势
分而治之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
linux Shell学习笔记第五天相关推荐
- Linux | Shell 学习笔记(二)Shell 流程控制 if、case、for、while| read读取输入 | 函数的使用 | cut、sed、awk、sort命令 +Demo
文章目录 参考资料 运行环境 一.流程控制 1.1 if 判断 1.2 case 语句 1.3 for 循环 1.4 while 循环 二. read 读取控制台输入 三.函数 3.1 系统函数 ba ...
- Linux shell 学习笔记(12)— linux 信号、后台运行脚本、作业控制、定时运行任务
1. 处理信号 1.1 Linux 信号 常见的 Linux 信号如下表所示: 信号 值 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL ...
- Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...
- Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)
1. 命令行参数 向 shell 脚本传递数据的最基本方法是使用命令行参数.命令行参数允许在运行脚本时向命令行添加数据. $ ./addem 10 30 本例向脚本 addem 传递了两个命令行参数( ...
- Linux shell 学习笔记(7)— 构建基本脚本(变量、重定向、管道、状态码)
1. 使用多个命令 如果要两个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开. $ date ; who Mon Feb 21 15:36:09 EST 2014 Christine tty2 ...
- Linux shell 学习笔记(5)— 文件权限(添加、修改、删除用户及创建、修改群组)
1. Linux的安全性 Linux 安全系统的核心是用户账户.每个能进入 Linux 系统的用户都会被分配唯一的用户账户.用户对系统中各种对象的访问权限取决于他们登录系统时用的账户. 用户权限是通过 ...
- Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)
1. 环境变量概念及分类 bash shell 用一个叫作环境变量(environment variable)的特性来存储有关 shell 会话和工作环境的信息(这也是它们被称作环境变量的原因).这项 ...
- Linux shell 学习笔记(1)— 文件和目录(查看、创建、复制、软硬链接、重命名及删除操作)
1. 启动 shell /etc/passwd 文件包含了所有系统用户账户列表以及每个用户的基本配置信息: christine:x:501:501:Christine Bresnahan:/home/ ...
- linux shell学习笔记(二) 变量和运算符
1.什么是shell变量?本地变量.环境变量.变量替换(显示变量).位置变量.标准变量.特殊变量.影响变量的命令 2.本地变量:本地变量在用户现在的shell生命期的脚本中使用 variable-na ...
最新文章
- php禁止网页抓取,服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站 - 龙笑天下...
- 7-28 超市贴花 (5 分)
- MDK编译生成bin文件
- Composite(组合)--对象结构型模式
- java实现遍历树形菜单方法——OpenSessionView实现
- 085:QuerySet API详解-defer和only
- python远程执行linux命令256_python远程操作Linux——使用paramiko库
- 将来时的条件句_58
- 6.1(数学:五角数)
- 素数筛选法--hdu4548美素数
- IOS客户端Coding项目记录导航
- JuiceFS 如何帮助趣头条超大规模 HDFS 降负载
- 【操作系统】GPT和MBR分区的区别
- dijkstra 路径搜索算法的c++简单实现
- 鸿蒙大陆罪恶深渊哪里出,库库马力
- 单表七千六百万数据量(oracle)进行实时汇总,sql很慢客户不能忍一下,该怎么办?
- bzoj 4987 Tree
- 开源项目学习-V部落
- Ubuntu Women:女娃玩电脑不输纯爷们!
- 长时间 正在加载个人设置 开机很慢