109 个实用 shell 脚本
时间: 2023-05-03 22:00:30 浏览: 125
有很多种实用的shell脚本,以下就是一些例子:
1. 自动备份数据库脚本
这个脚本是用来自动备份数据库,可以设置备份数据的时间间隔和备份文件的命名。
```
#!/bin/bash
#数据库备份脚本
HOSTNAME="localhost" #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD="123456"
DBNAME="databasename"
BACKUP_DIR="/opt/backup" #备份文件存储路径
DATE=$(date +%Y%m%d-%H%M%S) #获取当前系统时间
DUMPFILE=$BACKUP_DIR/${DBNAME}-$DATE.sql
LOGFILE=$BACKUP_DIR/${DBNAME}-$DATE.log
mysqldump --host=$HOSTNAME --port=$PORT --user=$USERNAME --password=$PASSWORD $DBNAME > $DUMPFILE
if [[ $? -eq 0 ]]; then
echo "$DATE 备份成功" >> $LOGFILE
else
echo "$DATE 备份失败" >> $LOGFILE
fi
```
2. 自动删除指定目录下的文件脚本
这个脚本是用来自动删除指定目录下一段时间之前的文件,可以设置目录和保存时间。
```
#!/bin/bash
#自动删除指定目录下一段时间之前的文件
DIR="/data/logs" #目录路径
DAYS="30" #保存天数
find $DIR -type f -mtime +$DAYS -exec rm -rf {} \;
if [[ $? -eq 0 ]]; then
echo "删除旧文件成功"
fi
```
3. 计算指定目录下的文件数量脚本
这个脚本是用来计算指定目录下的文件数量,可以设置目录路径。
```
#!/bin/bash
#计算指定目录下的文件数量
DIR="/opt" #目录路径
COUNT=`ls -l $DIR |grep "^-"|wc -l`
echo "目录 $DIR 中的文件数量为:$COUNT"
```
4. 批量修改指定目录下的文件名脚本
这个脚本是用来批量修改指定目录下的文件名,可以设置目录路径和文件名前缀。
```
#!/bin/bash
#批量修改指定目录下的文件名
DIR="/opt/logs" #目录路径
PREFIX="error_" #文件名前缀
for file in `ls $DIR`
do
name=`basename $file`
mv $DIR/$name $DIR/${PREFIX}$name
done
if [[ $? -eq 0 ]]; then
echo "修改文件名成功"
fi
```
这些是比较实用的shell脚本,当然还有很多其他的脚本可以执行各种不同的任务。
阅读全文