backup.sh 835 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. BACKUP_DIR="/data/chroma/backups"
  3. DATE=$(date +%Y%m%d_%H%M%S)
  4. BACKUP_FILE="chroma_backup_$DATE.tar.gz"
  5. echo "======================================"
  6. echo " Chroma 数据备份脚本"
  7. echo "======================================"
  8. echo ""
  9. mkdir -p $BACKUP_DIR
  10. echo "[1/3] 创建备份..."
  11. docker exec chroma_server tar -czf /tmp/$BACKUP_FILE -C /chroma chroma_data
  12. echo "[2/3] 复制备份文件..."
  13. docker cp chroma_server:/tmp/$BACKUP_FILE $BACKUP_DIR/
  14. echo "[3/3] 清理旧备份..."
  15. find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
  16. BACKUP_SIZE=$(du -h $BACKUP_DIR/$BACKUP_FILE | cut -f1)
  17. echo ""
  18. echo "======================================"
  19. echo " 备份完成!"
  20. echo "======================================"
  21. echo ""
  22. echo "备份文件: $BACKUP_DIR/$BACKUP_FILE"
  23. echo "文件大小: $BACKUP_SIZE"
  24. echo ""