写一个gitlab备份脚本,仅保留2天的备份数据,以及删除无用的文件
时间: 2024-03-22 18:42:29 浏览: 18
好的,以下是一个简单的备份脚本,可以每天运行一次:
```bash
#!/bin/bash
# 设置备份目录和日志文件路径
BACKUP_DIR="/path/to/backup"
LOG_FILE="/path/to/backup.log"
# 备份GitLab数据
echo "Starting GitLab backup..." >> $LOG_FILE
gitlab-rake gitlab:backup:create >> $LOG_FILE 2>&1
# 删除超过2天的备份文件
echo "Removing old backups..." >> $LOG_FILE
find $BACKUP_DIR -name "*.tar" -mtime +2 -exec rm {} \; >> $LOG_FILE 2>&1
# 删除无用的文件
echo "Removing unnecessary files..." >> $LOG_FILE
rm -rf $BACKUP_DIR/tmp/* >> $LOG_FILE 2>&1
echo "GitLab backup complete." >> $LOG_FILE
```
将上述脚本保存到一个文件中(如`gitlab_backup.sh`),然后使用`crontab`来定时运行它:
```
0 0 * * * /bin/bash /path/to/gitlab_backup.sh
```
这个`crontab`设置会在每天午夜(即00:00)运行备份脚本。备份文件会保存在`$BACKUP_DIR`目录中,日志文件会保存在`$LOG_FILE`中。你可以根据自己的需要修改这些路径。