shellスクリプトバックアップmysql 5.7.8以前のデータベース異常sendEmail 25ポートからメール

3570 ワード

1、sendEmailツールをインストールする:
操作はURLを参照してください.https://blog.csdn.net/rheostat/article/details/7975198
2、sendEmail使用説明を表示する:
(1)sendEmailヘルプドキュメントの表示:
/usr/bin/sendemail --help
(2)sendEmailは基本パラメータを使用する:
/usr/bin/sendemail
-f  [email protected]送信者メールアドレス
-t  [email protected]受信者メールボックス
-s  smtp.qq.com送信者メールボックスのsmtpサーバ
-u'タイトル'メールのテーマ
-o message-content-type=htmlメール内容のフォーマットはhtml、text
-o message-charset=utf 8メールコンテンツ符号化
-xu [email protected]送信者アカウント
-xp 123456送信者パスワード
-m'メール内容'メールの内容
3、メールコマンドdemoを送信する:
sendemail -f [email protected] -t "[email protected]「-s smtp.qq.com-u'テストテーマ'-o message-content-type=html-o message-charset=utf [email protected] 123456-m「メール内容」
注意:-xpのパスワードはメールボックスログインパスワードではなく、送信メールボックスがPOP 3/SMTPを開いた後に生成される認証パスワードです.
4、shellスクリプト送信メールコードは以下の通りです.
(1)プロファイル:
username=root
password=123456
backupsFileStr=/wocloud/db/backups
backupsFileDay=3
mysqldumpStr=/usr/bin/mysqldump
copydb=hebei,reportSystem
sendEmailAddr=/usr/bin/sendEmail
sendEmailFromSmtp=smtp.qq.com
[email protected]
sendEmailFromPassword=vripvkjgdddddd
[email protected]
sendEmailTitle=      
sendEmailContent=      

(2)コード:
注意:異なるlinuxデバイスのshパスは異なる場合があります.which shでshの絶対パスの変更を確認する必要があります.
#!/bin/sh

#db_backups_conf.txt    
db_backups_conf="/wocloud/shell/db_backups_conf.txt"

#        
if [ -f "${db_backups_conf}" ];then
	
	echo $(date +'%Y-%m-%d %H:%M:%S')"            ,        "

	#       ,  map  Key 
	dbArrOne=($(awk -F'[=]' '{print $1}' ${db_backups_conf} ))
	
	#       ,  map  value 
	dbArrTwo=($(awk -F'[=]' '{print $2}' ${db_backups_conf}))

	#     map
	declare -A map=()
	
	#    , db_backups_conf           map 
	for((i=0;i ${map["backupsFileStr"]}/${saveDb}_database_${saveday}.sql
		} || {
			isSendEmailStr=1
		}
		
	done	
	
	#           ,          ,          
	if [ ${isSendEmailStr} == "0" ];then
			echo $(date +'%Y-%m-%d %H:%M:%S')"              "
		else 
			echo $(date +'%Y-%m-%d %H:%M:%S')"              ,           "
			
			#          ,      
			for email in ${semdEmailToArr[@]};
			do
				echo $(date +'%Y-%m-%d %H:%M:%S')"       :"${email}

				${map["sendEmailAddr"]} -f ${map["semdEmailFrom"]} -t "${email}" -s ${map["sendEmailFromSmtp"]} -u ""${map["sendEmailTitle"]} -o message-content-type=html -o message-charset=utf8 -xu ${map["semdEmailFrom"]} -xp ${map["sendEmailFromPassword"]} -m ""${map["sendEmailContent"]}
			done
			
			echo $(date +'%Y-%m-%d %H:%M:%S')"              ,           "
	fi
	
	echo $(date +'%Y-%m-%d %H:%M:%S')"       ,      "

else
	echo "     "
fi

(3)構成パラメータの説明:
      :
username:mysql      
password:mysql     
backupsFileStr:      
backupsFileDay         
mysqldumpStr:    mysqldump   
copydb:      ,          
sendEmailAddr=      sendEmail    
sendEmailFromSmtp=          ,  QQ      :smtp.qq.com
semdEmailFrom=    
sendEmailFromPassword=     smtp   ,          
semdEmailTo=     ,            
sendEmailTitle=      (           =)
sendEmailContent=      (           =)

(4)使用上の注意事項:
      :
1、    .sh、.txt      /woclod/shell   ,         ,    .sh   .txt       
2、     Linux   ,   db_backups_conf.txt        ,  mysqldump