gitlab自動定時備份文件備份失敗發(fā)送郵件功能實現(xiàn)
一、需求
為預(yù)防gitlab出現(xiàn)故障,每天定時備份,備份完成后把之前的備份文件刪除,備份成功或失敗的時候自動發(fā)送郵件提醒,這里的gitlab為docker部署。
二、備份命令準備
1)備份命令
創(chuàng)建一個 gitlab_auto_backup.sh文件,文件內(nèi)容
#!/bin/bash # 進入GitLab容器并執(zhí)行備份 --gitlab為docker名稱 docker exec -t gitlab gitlab-backup create # 查找并刪除1天前的備份文件 /home/gitlab/opt/backups/ 為docker掛載data的目錄 find /home/gitlab/opt/backups/ -type f -mtime +1 -name "*.tar" -exec rm -rf {} \;
把gitlab_auto_backup.sh文件放到服務(wù)器上,這里放到目錄 /home/gitlab/gitlab_auto_backup.sh
給權(quán)限
chmod +x /home/gitlab/gitlab_auto_backup.sh
2)讓備份命令定時自動執(zhí)行
使用linux的cron來定時執(zhí)行上面創(chuàng)建的命令腳本文件,vi /etc/crontab 打開 crontab文件
每天零晨2點執(zhí)行
3)linux服務(wù)器郵件發(fā)送配置
配置發(fā)送郵件服務(wù)
安裝mailx sendmail,如果已安裝會提示已經(jīng)安裝,沒安裝會自動安裝
yum install -y mailx sendmail
查看Active的狀態(tài)
systemctl status sendmail
如果active(running)正常,如果為dead則需要啟動服務(wù),啟動命令
systemctl start sendmail
配置服務(wù) /etc/mail.rc,以163郵箱為例
#打開配置文件 vi /etc/mail.rc
編輯配置文件增加配置
set from=xxxx@163.com #郵箱 set smtp=smtp.163.com #smtp地址 set smtp-auth-user=xxxx@163.com set smtp-auth-password=授權(quán)碼 #不是郵件的密碼,是申請smpt發(fā)送郵件的授權(quán)碼 set smtp-auth=login
郵件發(fā)送測試
1、直接發(fā)送內(nèi)容
發(fā)送內(nèi)容:test content
標題:test title
收件人:123456@qq.com
echo "test content" | mail -s "test title" 123456@qq.com
2、使用文件內(nèi)容作為郵件內(nèi)容發(fā)送
把 /tmp/test.txt的內(nèi)容作為郵件內(nèi)容發(fā)送
mail -s "test title" 123456@qq.com < /tmp/test.txt
4)備份成功失敗發(fā)送郵件
修改備份命令,增加發(fā)送郵件。gitlab_auto_backup.sh完整內(nèi)容替換為:
#!/bin/bash # 進入GitLab容器并執(zhí)行備份 docker exec -t gitlab gitlab-backup create # $?符號顯示上一條命令的返回值,如果為0則代表執(zhí)行成功,其他表示失敗,注間中括號前后有一個空格 if [ $? -eq 0 ];then echo "gitlab備份成功" | mail -s "gitlab備份成功" 123456@qq.com else echo "gitlab備份失敗" | mail -s "gitlab備份失敗" 123456@qq.com fi # 查找并刪除1天前的備份文件 find /home/gitlab/opt/backups/ -type f -mtime +1 -name "*.tar" -exec rm -rf {} \;
手動執(zhí)行g(shù)itlab_auto_backup.sh文件測試效果
#執(zhí)行備份命令 /home/gitlab/gitlab_auto_backup.sh
完成!
到此這篇關(guān)于gitlab自動定時備份文件備份失敗發(fā)送郵件功能實現(xiàn)的文章就介紹到這了,更多相關(guān)gitlab自動定時備份內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決啟動Azkaban報錯問題:java.lang.NoSuchMethodError: com.google.comm
這篇文章主要介紹了啟動Azkaban報錯:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap,需要的朋友可以參考下2020-05-05如何給 GitHub commit 加個綠色圖標(教程詳解)
這篇文章主要介紹了如何給 GitHub commit 加個綠色圖標,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08提高github下載速度的方法可達到2MB/s(100%有效)
這篇文章主要介紹了提高github下載速度的方法可達到2MB/s(100%有效),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08