All Projects → jeessy2 → backup-x

jeessy2 / backup-x

Licence: MIT license
带Web界面的数据库/文件备份增强工具. A database/file backup tool with web interfaces

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects
CSS
56736 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to backup-x

google-backup
Drive/Gmail/Calendar backups
Stars: ✭ 31 (-60.26%)
Mutual labels:  backup
infrastructure
This repo contains all information about machine maintenance.
Stars: ✭ 75 (-3.85%)
Mutual labels:  backup
irsync
rsync on interval, via command line binary or docker container. Server and IOT builds for pull or push based device content management.
Stars: ✭ 19 (-75.64%)
Mutual labels:  backup
downstagram
Command line tool to download and backup all your Instagram photos
Stars: ✭ 32 (-58.97%)
Mutual labels:  backup
docker-db-backup
Backup mutltiple databases types on a scheduled basis with many customizable options
Stars: ✭ 302 (+287.18%)
Mutual labels:  backup
rbackup
Shell script for encrypted backups with rsync and GnuPG
Stars: ✭ 22 (-71.79%)
Mutual labels:  backup
backup-suite
Backup database, static files and config to AWS S3 with Cronjob
Stars: ✭ 32 (-58.97%)
Mutual labels:  backup
aws-backup-lambda
A utility AWS lambda function to manage EBS and RDS snapshot backups.
Stars: ✭ 60 (-23.08%)
Mutual labels:  backup
kirby-backup-widget
Kirby panel widget to easily backup your site content.
Stars: ✭ 25 (-67.95%)
Mutual labels:  backup
esop
Cloud-enabled backup and restore tool for Apache Cassandra
Stars: ✭ 40 (-48.72%)
Mutual labels:  backup
btrfs-backup
A simple, flexible script for versioned backups using btrfs and rsync
Stars: ✭ 59 (-24.36%)
Mutual labels:  backup
RoboBackup
Windows service for orchestrating file backups via robocopy utility.
Stars: ✭ 35 (-55.13%)
Mutual labels:  backup
terraform-aws-efs-backup
Terraform module designed to easily backup EFS filesystems to S3 using DataPipeline
Stars: ✭ 40 (-48.72%)
Mutual labels:  backup
BaNG
Backup Next Generation for Linux & Mac using rsync (support hardlinks and btrfs snapshots), Web-Frontend, Statistics, History-Merger)
Stars: ✭ 28 (-64.1%)
Mutual labels:  backup
dotao
WIP modern dotfiles manager
Stars: ✭ 15 (-80.77%)
Mutual labels:  backup
dotfiles
My dotfiles and some scripts to bootstrap new workstations
Stars: ✭ 27 (-65.38%)
Mutual labels:  backup
airtable local backup
Create local backups of airtable databases
Stars: ✭ 32 (-58.97%)
Mutual labels:  backup
backup
An admin interface for managing backups
Stars: ✭ 66 (-15.38%)
Mutual labels:  backup
mongodb-backup-manager
🌿 A Full-stack MongoDB Backup System.
Stars: ✭ 42 (-46.15%)
Mutual labels:  backup
n3dr
Nexus3 Disaster Recovery (N3DR) is a tool that is capable of downloading all artifacts from a Nexus3 server and to migrate them to another Nexus3 server. Note that some repository formats are not supported at the moment.
Stars: ✭ 110 (+41.03%)
Mutual labels:  backup

backup-x

GitHub release

带Web界面的数据库/文件备份增强工具。原理:执行自定义shell命令输出文件,增强备份功能。同时支持: 文件、mysql、postgres... English

  • 支持自定义命令
  • 支持执行shell输出的文件备份,原理上支持各种数据库/文件备份
  • 支持备份周期设置,几分钟到一年的备份周期也可以
  • 支持多个项目备份,最多16个
  • 支持备份后的文件另存到对象存储中 (在也不怕删库跑路了)
  • 可设置备份文件最大保存天数
  • webhook通知
  • 支持加密关键信息(v1.3.0+)

docker中使用

  • 运行docker容器(/opt/backup-x-files可替换为主机的目录)
    docker run -d --name backup-x --restart=always \
      -p 9977:9977 \
      -v /opt/backup-x-files:/app/backup-x-files \
      jeessy/backup-x
    
  • 登录 http://your_docker_ip:9977 并配置
  • docker容器默认安装default-mysql-client/postgres-client/s3sync

系统中使用

  • 下载并解压https://github.com/jeessy2/backup-x/releases

  • 安装服务

    • Mac/Linux: ./backup-x -s install
    • Win(打开cmd): .\backup-x.exe -s install
    • 自定义参数 ./backup-x -s install -l 127.0.0.1:9977 -d /Users/name
      • -l 监听地址(默认监听:9977
      • -d 自定义备份目录地址(默认当前运行目录)
  • [可选] 服务卸载

    • Mac/Linux: ./backup-x -s uninstall
    • Win(打开cmd): .\backup-x.exe -s uninstall
  • 登录 http://127.0.0.1:9977 并配置

    avatar

备份脚本参考

  • postgres

    说明 备份脚本
    备份单个 PGPASSWORD="#{PWD}" pg_dump --host 192.168.1.11 --port 5432 --dbname db-name --user postgres --clean --create --file #{DATE}.sql
    备份全部 PGPASSWORD="#{PWD}" pg_dumpall --host 192.168.1.11 --port 5432 --user postgres --clean --file #{DATE}.sql
    还原 psql -U postgres -f 2021-11-12_10_29.sql
  • mysql/mariadb

    说明 备份脚本
    备份单个 mysqldump -h192.168.1.11 -uroot -p#{PWD} db-name > #{DATE}.sql
    备份全部 mysqldump -h192.168.1.11 -uroot -p#{PWD} --all-databases > #{DATE}.sql
    还原 mysql -uroot -p123456 db-name <2021-11-12_10_29.sql
  • 文件

    说明 备份脚本
    备份本地文件到对象存储 s3sync s3sync --fs-disable-xattr --filter-not-exist --tk #{AccessKey} --ts #{SecretKey} --te #{Endpoint} fs:///opt/test/ s3://#{BucketName}/test/
    备份对象存储到对象存储 s3sync s3sync --filter-not-exist --sk source_key -ss #{PWD} --se https://s3.source.com --tk #{AccessKey} --ts #{SecretKey} --te #{Endpoint} s3://backup/ s3://#{BucketName}/
    备份本地文件到对象存储 rclone 参考rclone文档。推荐在系统中使用rclone
  • 变量说明

    变量名 说明
    #{DATE} 年-月-日_时_分
    #{PWD} 下方的密码变量
    #{Endpoint} 下方的对象存储变量 Endpoint
    #{AccessKey} 下方的对象存储变量 AccessKey
    #{SecretKey} 下方的对象存储变量 SecretKey
    #{BucketName} 下方的对象存储变量 BucketName

webhook

  • 支持webhook, 备份更新成功或不成功时, 会回调填写的URL

  • 支持的变量

    变量名 说明
    #{projectName} 项目名称
    #{fileName} 备份后的文件名称
    #{fileSize} 文件大小 (MB)
    #{result} 备份结果(成功/失败)
  • RequestBody为空GET请求,不为空POST请求

  • Server酱: https://sc.ftqq.com/[SCKEY].send?text=#{projectName}项目备份#{result},文件名:#{fileName},文件大小:#{fileSize}

  • Bark: https://api.day.app/[YOUR_KEY]/#{projectName}项目备份#{result},文件名:#{fileName},文件大小:#{fileSize}

  • 钉钉:

    • 钉钉电脑端 -> 群设置 -> 智能群助手 -> 添加机器人 -> 自定义
    • 只勾选 自定义关键词, 输入的关键字必须包含在RequestBody的content中, 如:项目备份
    • URL中输入钉钉给你的 Webhook地址
    • RequestBody中输入 {"msgtype": "text","text": {"content": "#{projectName}项目备份#{result},文件名:#{fileName},文件大小:#{fileSize}"}}

说明

  • 从backup-db发展而来,发现不仅仅支持数据库备份,所以改名backup-x,备份届的iphone-x
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].