shell日常脚本

1、用一条命令找出/etc/目录下过去24小时内被修改过的文件,后缀名是.log的文件并删除。
find /etc -type f -mtime -1 -name "
log*" -exec rm -rf {} \;

2、从test.log文件中找出包含“Not”、“Fail”或“Error”,同时不包含”Info”字段的行,然后找出以冒号“:”分割的最后一列字段。
cat test.log |grep -e "Not" -e "Fail" -e "Error" |grep -v "Info"|awk -F : '{print $NF}'

3、目录/test/下有100个普通文件,有的文件有后缀名.txt,有的则没有后缀名,写一个脚本,将/test/目录下所有文件没有后缀名的文件都重命名为以.txt结尾。

#!/bin/bash
cd /test/
for aa in find . - type f ! -name "*.txt"
do
mv $aa $aa.txt
done

4、写一个计划任务脚本,每周一凌晨01:30将/opt/目录下的所有内容打包备份至/data/backup/目录下,且文件名命名形式为yyyymmdd-opt,yyyy为年,mm为月,dd为日。

crontab –e
30 1 1 /home/aa.sh >/dev/null 2>&1

#!/bin/bash
#/home/aa.sh
time=date +%Y%m%d
tar czvf $time-opt /opt/
mv $time-opt /data/backup/

5、用一条命令统计出apache访问日志access.log中每个IP地址访问的次数,按照访问量列出前10名。
日志格式样例如下:
192.168.1.10 - - [24/Jul/2017:23:55:55 +0800] “GET /HTTP/1.1” 200 19

more access_log | awk '{print $1}' | uniq -c | sort -rn | head -10

6、打印出test.conf文件中不以”#”开头,且不是空行的内容。

sed -e "/^#/d" test.conf | awk '{if (length !=0) print $0}'

7、写一个计划任务,每2小时执行一次/opt/app/test.sh。
crontab –e

  • /2 /opt/app/test.sh >/dev/null 2>&1

转载于:https://blog.51cto.com/10676568/2134650

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值