Linux之常用Shell脚本总结_shell脚本输入密码备份

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

#当前时间
CURRENTTIME=$(date +%Y%m%d_%H%M%S)
#备份数据库名称
DB_NAME=test_db_bak
#用户名
DB_USERNAME=root
#密码
DB_PASSWORD=0905
#主机名称
DB_HOSTNAME=localhost

echo “=数据库备份开始【备份路径: D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME.tar.gz 】==”

#创建备份的路径,如果目录不存在,则先创建备份目录
if [ ! -d “ D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME” ]; then
echo “备份目录不存在,准备创建备份目录”
#创建备份目录
mkdir -p “ D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME”
else
echo “备份目录已存在”
fi

#另一种比较简便的写法(前面的命令为true,才执行 &&后面的命令)
#[ ! -d “ D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME” ] && mkdir -p “ D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME”

#使用mysqldump备份mysql数据库,并进行gzip压缩
mysqldump -u D B U S E R N A M E − p {DB_USERNAME} -p DBUSERNAMEp{DB_PASSWORD} --host=$DB_HOSTNAME $DB_NAME | gzip > D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME/$CURRENTTIME.sql.gz

#tar压缩
cd $DB_BAK_PATH
tar -zcvf $CURRENTTIME.tar.gz $CURRENTTIME

#删除临时目录
rm -rf D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME

#删除一个月之前的数据库备份文件
find $DB_BAK_PATH -mtime +30 -name “*.tar.gz” -exec rm -rf {} ;

#数据库备份完成
echo “数据库备份成功【备份路径: D B B A K P A T H / DB_BAK_PATH/ DBBAKPATH/CURRENTTIME.tar.gz】===”


【b】**批量创建Linux用户,并且属于同一个用户组wsh,要求用户名和密码一致。**



#!/bin/bash

#批量创建Linux用户(user1 - user5),并且属于同一个用户组wsh,要求用户名和密码一致

for I in KaTeX parse error: Expected 'EOF', got '#' at position 22: … 5) do #̲useradd 用户名 -g…I -g wsh
#修改密码
echo user I ∣ p a s s w d u s e r I | passwd user IpasswduserI --stdin
done


![](https://img-blog.csdnimg.cn/20190610204507847.png)


【c】**将/test目录下大于10k的文件删除(常用于垃圾回收)**



#!/bin/bash

#将/test中的大于10k的文件删除
for tmp in $(ls /test)
do
if [ -f $tmp ]; then
if [ $(ls -l $tmp|awk ‘{print $5}’) -gt 10000 ]; then
#删除文件
rm -rf $tmp
fi
fi
done


![](https://img-blog.csdnimg.cn/20190610205939869.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dlaXhpYW9odWFp,size_16,color_FFFFFF,t_70)


【d】**按时批量清除N天前文件(需要结合cronb定时任务调度实现)**



#!/bin/bash

#定时清理30天之前的/data/目录下的后缀为.txt的文:wq!i件
find /data/ -mtime +30 -name “*.txt” -exec rm -rf {} ;

#/data:准备要进行清理的目录; 
#-mtime:标准语句写法+30:查找30天前的文件;
#".txt"表示查找扩展名为.txt的所有文件;
#-exec:固定写法 ;
#rm -rf:强制删除文件,包括目录 ;

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

😕/bbs.csdn.net/topics/618635766)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值