用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
gitlab主动定时备份文件,备份失败发送邮件 ...
gitlab主动定时备份文件,备份失败发送邮件
用户云卷云舒
论坛元老
|
2024-6-17 03:12:37
|
显示全部楼层
|
阅读模式
楼主
主题
1589
|
帖子
1589
|
积分
4767
一、需求
为防备gitlab出现故障,每天定时备份,备份完成后把之前的备份文件删除,备份成功或失败的时间主动发送邮件提醒,这里的gitlab为docker摆设。
二、备份命令预备
1)备份命令
创建一个 gitlab_auto_backup.sh文件,文件内容
#!/bin/bash
# 进入GitLab容器并执行备份 --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文件放到服务器上,这里放到目次 /home/gitlab/gitlab_auto_backup.sh
给权限
chmod +x /home/gitlab/gitlab_auto_backup.sh
复制代码
2)让备份命令定时主动执行
使用linux的cron来定时执行上面创建的命令脚本文件,vi /etc/crontab 打开 crontab文件
每天零晨2点执行
3)linux服务器邮件发送设置
设置发送邮件服务
安装mailx sendmail,如果已安装会提示已经安装,没安装会主动安装
yum install -y mailx sendmail
复制代码
查看Active的状态
systemctl status sendmail
复制代码
如果active(running)正常,如果为dead则需要启动服务,启动命令
systemctl start sendmail
复制代码
设置服务 /etc/mail.rc,以163邮箱为例
#打开配置文件<br>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=授权码 #不是邮件的密码,是申请smpt发送邮件的授权码
set smtp-auth=login
复制代码
邮件发送测试
1、直接发送内容
发送内容:test content
标题:test title
收件人:123456@qq.com
echo "test content" | mail -s "test title" 123456@qq.com
复制代码
2、使用文件内容作为邮件内容发送
把 /tmp/test.txt的内容作为邮件内容发送
mail -s "test title" 123456@qq.com < /tmp/test.txt
4)备份成功失败发送邮件
修改备份命令,增加发送邮件。gitlab_auto_backup.sh完整内容替换为:
#!/bin/bash
# 进入GitLab容器并执行备份
docker exec -t gitlab gitlab-backup create
# $?符号显示上一条命令的返回值,如果为0则代表执行成功,其他表示失败,注间中括号前后有一个空格
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 {} \;
复制代码
手动执行gitlab_auto_backup.sh文件测试效果
#执行备份命令
/home/gitlab/gitlab_auto_backup.sh
复制代码
完成!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
用户云卷云舒
论坛元老
这个人很懒什么都没写!
楼主热帖
更新:)
更新:)
期末作业C#实现学生宿舍管理系统 ...
揭秘爆款的小程序,为何一黑到底 ...
Nginx 配置和性能调优
送分题,ArrayList 的扩容机制了解吗? ...
程序员必学的项目管理知识-敏捷开发 ...
北京动点元宇宙外包团队:微软入局工业 ...
IOS开发
SmartIDE v0.1.16 已经发布 - 支持阿里 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
备份
快速回复
返回顶部
返回列表