当前位置: 首页 > article >正文

脚本练习3

1.写一个脚本进行nginx日志统计,得到访问ip最多的前10个(nginx日志路径:/home/logs/nginx/default/access.log

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -r

2.创建一个mysql数据库KW(字符集utf8,类型innodb),表名(User),表结构为:
字段名称             描 述              
ID                      int(11)           
Name                 varchar(20)              
Birth                  varchar(10)            
Sex                    int(2)               
Description       varchar(50)

并用shell脚本实现将mysql数据库KW进行每天定时备份,备份目录存放到/data/backup目录里,且文件名为如下形式kw_yymmdd.db.tar.gz,其中yy为年,mm为月,dd为日

数据库

CREATE DATABASE KW CHARACTER SET utf8;

USE KW;

CREATE TABLE User (
    ID int(11) NOT NULL AUTO_INCREMENT,
    Name varchar(20) NOT NULL,
    Birth varchar(10),
    Sex int(2),
    Description varchar(50),
    PRIMARY KEY (ID)
) ENGINE=InnoDB;

INSERT INTO User (Name, Birth, Sex, Description) VALUES
('Alice', '1990-01-01', 1, 'First user'),
('Bob', '1991-02-02', 2, 'Second user'),
('Charlie', '1992-03-03', 1, 'Third user'),
('David', '1993-04-04', 2, 'Fourth user'),
('Eve', '1994-05-05', 1, 'Fifth user'),
('Frank', '1995-06-06', 2, 'Sixth user'),
('Grace', '1996-07-07', 1, 'Seventh user'),
('Henry', '1997-08-08', 2, 'Eighth user'),
('Ivy', '1998-09-09', 1, 'Ninth user'),
('Jack', '1999-10-10', 2, 'Tenth user');

代码

if [ ! -d /data/backup ]
then
        mkdir -p /data/backup
fi
date=`date +%F`
`mysqldump -u root KW | gzip > /data/backup/KW${date}.db.tar.gz`

3.写一个sed命令,修改/tmp/input.txt文件的内容,要求:(1) 删除所有空行;(2) 在非空行前面加一个"AAA",在行尾加一个"BBB",即将内容为11111的一行改为:AAA11111BBB

[root@192 homework]# sed -i '/^$/d; s/\(.*\)/AAA\1BBB/' /tmp/input.txt

4.找到/tmp/目录下面的所有名称以"_s1.jpg"结尾的普通文件,如果其修改日期在一天内,则将其打包到/tmp/back.tar.gz文件中

[root@192 homework]# find /tmp/ -type f -name '*_s1.jpg' -atime -1 | xargs tar -czvf /tmp/back.tar.gz

5.写出SHELL函数RevertInput,函数必须获取三个参数,然后将三个参数倒序echo打印出来,函数必须检查参数个数的合法性,如果参数非法,打印”Illegal parameters”,对于下面的输入:
RevertInput “this is para1” para2 para3
应该输出:
para3
para2
this is para1


RevertInput(){
        for ((i=3;i>0;i--)){
                echo ${!i}
        }
}
RevertInput "this is para1" para2 para3


http://www.kler.cn/a/505131.html

相关文章:

  • Flink 应用
  • 计算机的错误计算(二百一十二)
  • SpeingMVC框架(三)
  • 【react】使用antd Table渲染数据遇到的报错问题
  • C++并发编程之std::partial_sum的并行版本
  • MySQL 排除指定时间内重复记录的解决方案
  • 统计学习算法——逻辑斯谛回归
  • vue3计算属性
  • G1原理—5.G1垃圾回收过程之Mixed GC
  • 报告分享 | 大语言模型安全和隐私研究综述
  • 使用 WPF 和 C# 绘制覆盖网格的 3D 表面
  • CF 368A.Sereja and Coat Rack(Java实现)
  • uniapp 小程序 textarea 层级穿透,聚焦光标位置错误怎么办?
  • next-auth v5 结合 Prisma 实现登录与会话管理
  • NVIDIA PyTorch Docker 镜像安装
  • RustDesk ID更新脚本
  • macos 一直报错 XXX 将对你的电脑造成伤害。你应该将它移到废纸篓
  • VSCode开发STM32,并支持C++
  • Spring官网构建Springboot工程
  • 【llama_factory】qwen2_vl训练与批量推理
  • DAMA GDPA 备考笔记(二)
  • 3.flask蓝图使用
  • 【优选算法篇】--双指针篇
  • C# PDF下载地址转图片(Base64 编码)
  • Ubuntu/centOS 如何安装 OpenGL
  • Web前端------HTML多媒体标签之图片标签