- which命令:
-https://www.cnblogs.com/huchong/p/9938426.html
https://www.cnblogs.com/300js/p/9133352.html
关于$RANDOM
https://www.cnblogs.com/gaoyuechen/p/8000810.html
shell脚本中怎么用从文件中逐行的读取数据
while read line #使用read命令循环读取文件内容,并将读取的文件内容赋值给变量line
do
let count++(count是你自己定义的变量)
echo "$count
l
i
n
e
"
d
o
n
e
<
line" done <
line"done<file #“done <
f
i
l
e
”
将
整
个
w
h
i
l
e
循
环
的
标
准
输
入
指
向
文
件
file”将整个while循环的标准输入指向文件
file”将整个while循环的标准输入指向文件file
shell脚本中如何写文件(覆盖,追加等等)
https://www.cnblogs.com/xiaojianblogs/p/6486902.html
文件备份脚本
# File Name: mysqldb.sh
# Author: Finley
# mail: 2206952220@qq.com
# Create Time: Tue 20 Aug 2019 09:02:07 PM CST
#====================================================================================
#!/bin/bash
MYSQL=`which mysql`
MYSQLDUMP=`which mysqldump`
User=root
Pass=Finley
Backup_path=/data/backup
Base_path=/data/tmp
tmp_file=$Base_path/$RANDOM
#Create directory and file
if [ ! -d $Base_path ]
then
mkdir $Base_path
fi
if [ ! -d $Backup_path ]
then
mkdir $Backup_path
fi
touch $tmp_file
$MYSQL -u$User -p$Pass <<EOF >$tmp_file
show databases;
EOF
#search databases would be backup
exclude=("Database","information_schema","performance_schema","sys"."mysql")
declare -a databaselist
declare -i i=0
while read line
do
if [[ "${exclude[@]}" != *$line* ]]
then
let i++;
databaselist[$i]=$line
fi
done < $tmp_file
echo "将要备份的数据库为:${databaselist[@]}"
filename=`date +%F`
rd=$RANDOM
for name in ${databaselist[@]}
do
file_path=$Backup_path/`date +%F`
if [ ! -e $file_path ]
then
mkdir $file_path
fi
file="$file_path$name-$filename-$rd.gz"
$MYSQLDUMP --opt $name -u$User -p$Pass | gzip > $file
done
56,1-8