shell脚本函数定义

“find” 命令
-exec command:command 为其他指令,-exec后面可再接额外的指令来处理搜寻到的结果。
{ }代表的是「由 find 找到的内容」,如上图所示,找到的结果会被放置到 { } 位置中;
-exec一直到 ; 是关键字,代表找到额外动作的开始(-exec)到结束(\),在这中间的就是找到指令内的额外动作

因为「;」在bash的环境下是有特殊意义的,因此利用反斜线来跳脱。

find /root -size 10M -exec rm -rf {} ;
# 重命名
find /root -name tom -exec mv {} tom_rename ;
# 移动
find /root -name tom_rename -exec mv {} /tmp ;
grep pass /root/anaconda-ks.cfg

cut -d 分割内容

#以空格分隔取第一列
cut -d " " -f 1

shell的函数定义

#1、
function function_name(){#function_name函数名
	#代码块
}
#2、
function_name(){#function_name函数名
	#代码块
}

function cdls(){
cd ~
ls
}
#函数内使用位置参数
function cdls(){
cd ~
ls $1
return 0
}

# local 变量名  定义函数局部变量
function cdls(){
local path=$1
cd ~
ls $path  && return 1
}

Linux自带的函数
/etc/init.d/functions
环境变量
/etc/profile
用户命令和配置
~/.bashrc
用户环境变量
~/.bash_profile

ulimit -a 查看系统限制

脚本控制
1、脚本优先级 (nice renice)
2、捕获信号 (kill)

kill默认会发生15号信号给应用
ctrl+c 发送信号2号信号
9号信号 不可阻塞
kill -信号值 进程号 给指定进程发生信号

trap 命令捕获传入的信号值
trap “执行内容” 信号值

计划任务
一次性
at hh:mm:ss
at hh:mm

[root@localhost ~]# at 18:42
at> echo hhhhhh > /data/aaaa.txt          
at> <E
job 2 at Tue Jul 20 18:42:00 2021

ctrl+d 提交定时任务
atq 查好还未执行的定时任务
非内部命令要写绝对路径 shell脚本要source file.sh执行引入环境变量
计划任务是无终端运行的无标准输出,需要重定向输出

周期性计划(cron)

crontab -e
分钟 小时 日期 月份 星期 执行的命令


#每分钟运行一次,*表示任意时间单位
* * * * * /usr/bin/date >> /data/date.txt
#每周的周一和周五运行
* * * * 1,5 /usr/bin/date >> /data/date.txt
#每周一至周五的凌晨3点运行
0 3 * * 1-5 /usr/bin/date >> /data/date.txt
#more /var/log/cron (查看cron日志) 
#ls /var/spool/cron(用户的周期性计划任务目录)
crontab -l  #查看现有任务

要注意命令的路径(which ls)

延时计划任务

#按小时计算,每小时检查一次
vim /etc/cron.d/0hourly
#按天、周、月
vim /etc/anacrontab
#进程锁
flock -xn "/tmp/f.lock" -c 执行的脚本(利用排他锁保证脚本只会运行一个)

/etc/cron.{daily,weekly,monthly} 目录中的脚本在当前的 Linux 中是被 anacron 调用的,不再依靠 cron 服务。不过,anacron 不用设置多余的配置,我们只需要把需要定时执行的脚本放入 /etc/cron.{daily,weekly,monthly} 目录中,就会每天、每周或每月执行,而且也不再需要启动 anacron 服务了。如果需要进行修改,则只需修改 /etc/anacrontab 配置文件即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值