博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell日常脚本
阅读量:6991 次
发布时间:2019-06-27

本文共 1106 字,大约阅读时间需要 3 分钟。

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

你可能感兴趣的文章
携程dynamicAPK框架研究(一)
查看>>
电脑办公小技巧
查看>>
python2.7安装django报UnicodeEncodeError错误
查看>>
计算机应用专业的学生应该掌握的IT技能
查看>>
MyEclipse 编写java mail 时遇到 java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream...
查看>>
Spring Security 学习之LDAP认证
查看>>
c++适配器
查看>>
医院启用智能结构化电子病历
查看>>
Python发送各类邮件的主要方法
查看>>
nginx同一端口监听多个域名和同时监听http,https
查看>>
关于win7系统的设置文件共享与远程连接的步骤整理
查看>>
每天一个linux命令(11):nl命令
查看>>
Apache2.2+tomcat负载均衡session共享配置说明手册1.1版
查看>>
PHP 5.3.0以上推荐使用mysqlnd驱动
查看>>
vue.js中使用d3.js画家谱关系图
查看>>
python实现跨文件全局变量的方法
查看>>
grails的那个编码,老是忘记,记这里。。。。。
查看>>
禁用arcgis security service
查看>>
火狐ssl_error_weak_server_ephemeral_dh_key解决办法
查看>>
Exchange DAG error
查看>>