Linux之计划任务和文本三剑客

计划任务(自动化运维)
1.单次执行
yum -y install at  //需要安装at
at now +1min   //设置1分钟后执行的命令   后面写上要执行的命令
mkdir haha  //默认生成在/root目录下
ctrl+d 结束
systemctl start atd.service   //开启at服务
systemctl status atd.service   //查看服务状态
使用 文件的形式设置定时任务 适用于批量操作
yum -y install nano
nano at.jobs
例如写如下内容后保存
mkdir 123
cd 123
touch haha.txt
chmod 777 at.jobs
at now +1min < at.jobs
2.循环执行(有些系统是crond 有些是cron  有些是crontab  使用起来都差不多)
crond   //默认情况下是每分钟执行一次的
systemctl start crond 开启服务
systemctl stop crond
systemctl status crond //查看服务状态
systemctl enable crond   开机自动运行
systemctl restart crond
ps aux | grep cron 查看进程
ps aux | grep crond
ls /var/spool/cron   每分钟执行一次该文件内的内容
crontab -l 列出所有用户的计划任务
crontab -r 删除所有计划任务
crontab -e 编辑计划任务
不妨先新建一个可以用于执行的sh文件 之后写到cron中用于定时执行
touch run.sh
nano run.sh
mkdir /root/haha
cd /root/haha
touch nihao.txt
chmod 777 run.sh
0 [点] [日] [月] [星期] [执行的代码]
0 2 * * * /root/run.sh 每天2点执行
0 2 14 * * /root/run.sh 每个月14号2点执行
0 2 2 * 5 /root/run.sh 每个月2号的2点或者星期5的2点执行
0 2 2 6 5 /root/run.sh 每年6-2号2点或者周五2点执行
* /5 * * * * /root/run.sh 每5分钟执行一次
0 2 1,4,6 * * /root/run.sh 每个月的1,4,6号2点执行
* * * * * /root/run.sh 每分钟执行
0 * * * * /root/run.sh 每个整点执行
* * 2 * * /root/run.sh 每个月2号的每分钟运行
相应的循环代码放到如下位置中 (如果不执行可以按如下格式修改代码 直到systemctl status crond中没有错误为止)
nano /etc/crontab 编辑任务的循环
* * * * * root /bin/bash /root/run.sh
/etc/cron.daily  /etc/cron.hourly   /etc/cron.monthly  /etc/cron.weekly
通过这个可以知道相应文件的执行周期
这些是专门的文件夹用于存放相应的计划任务
Linux文本三剑客 sed  grep  awk
文本过滤工具
grep
-E 支持正则表达式
-i 忽略大小写
-n 打印行号
-o 只打印匹配的内容
-c 打印匹配文件的匹配函数
-B 打印匹配的前几行
-A 打印匹配的后几行
-C 打印匹配的前后几行
-v 打印不匹配的行
-e 多点操作 grep -e "^h" -e "o$"
--color 匹配字体有颜色
grep不仅仅可以支持单个文件 也支持目录
grep -in "a" test1.txt
grep -ino "ha" test1.txt
grep -in "haha" ./*
grep -in "haho" -B 2 test1.txt
grep -in "root" /etc/passwd  = cat /etc/passwd | grep -in "root"
文本编辑器
sed   不会真正的修改文本的内容 可以先用于测试 -i以后才会真的保存信息
动作说明
a 新增
c 取代
d 删除
i 插入
p 打印
s 正则表达式取代
sed -e '4a\newline1' test1.txt
在test1.txt的第四行添加一个newline1文本

nl /etc/passwd | sed '2,5d'
输出/etc/passwd并且删除2-5行 但是不会真的修改文本里的内容 只是显示结果

sed 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
修改selinux的参数

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
真正修改进去
文本报告分析工具
awk
awk '{print $0}' /etc/passwd
对每一行执行print命令
awk -F':' '{print $1 $2 $3}' /etc/passwd
使用冒号进行分割
root : x : 0 : 0 : root : /root : /bin/bash
$1     $2  $3
awk -F':' '{print "username is "$1 " password is " $2}' /etc/passwd
有顺序的输出
awk -F':' '{if(NR>=2 && NR<=5) print "username is "$1 " password is " $2}' /etc/passwd
指定行数输出
awk -F":" '/root/{print $1}' /etc/passwd
使用冒号分割未来的东西,匹配关键词root所在的行,打印的结果是遵从以冒号进行分割的内容
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simon_Smith

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值