shellスクリプトバックアップmysql 5.7.8以前のデータベース異常sendEmail 25ポートからメール
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)プロファイル:
(2)コード:
注意:異なるlinuxデバイスのshパスは異なる場合があります.which shでshの絶対パスの変更を確認する必要があります.
(3)構成パラメータの説明:
(4)使用上の注意事項:
操作は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