- 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 file #“done <file
shell腳本中如何寫文件(覆蓋,追加等等)
https://www.cnblogs.com/xiaojianblogs/p/6486902.html
文件備份腳本
# File Name: mysqldb.sh
# Author: Finley
# mail: [email protected]
# 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