ื›ื™ืฆื“ GitLab ืขื•ื–ืจืช ืœืš ืœื’ื‘ื•ืช ืื—ืกื•ืŸ ื’ื“ื•ืœ ืฉืœ NextCloud

ื”ื™ื™ ื”ื‘ืจ!

ื”ื™ื•ื ืื ื™ ืจื•ืฆื” ืœื“ื‘ืจ ืขืœ ื”ื ื™ืกื™ื•ืŸ ืฉืœื ื• ื‘ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื’ื™ื‘ื•ื™ ื ืชื•ื ื™ื ื’ื“ื•ืœื™ื ืžืžื—ืกื ื™ Nextcloud ื‘ืชืฆื•ืจื•ืช ืฉื•ื ื•ืช. ืื ื™ ืขื•ื‘ื“ ื›ืชื—ื ืช ืฉื™ืจื•ืช ื‘-Molniya AK, ืฉื ืื ื—ื ื• ืขื•ืฉื™ื ื ื™ื”ื•ืœ ืชืฆื•ืจื” ืฉืœ ืžืขืจื›ื•ืช IT; Nextcloud ืžืฉืžืฉ ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื. ื›ื•ืœืœ, ืขื ืžื‘ื ื” ืžื‘ื•ื–ืจ, ืขื ื™ืชื™ืจื•ืช.

ื”ื‘ืขื™ื•ืช ื”ื ื•ื‘ืขื•ืช ืžื”ืชื›ื•ื ื•ืช ืฉืœ ื”ื”ืชืงื ื•ืช ื”ืŸ ืฉื™ืฉ ื”ืจื‘ื” ื ืชื•ื ื™ื. ื’ื™ืจืกืื•ืช ื”ืžืกื•ืคืงื•ืช ืขืœ ื™ื“ื™ Nextcloud, ื™ืชื™ืจื•ืช, ืกื™ื‘ื•ืช ืกื•ื‘ื™ื™ืงื˜ื™ื‘ื™ื•ืช ื•ืขื•ื“ ื™ื•ืฆืจืช ื›ืคื™ืœื•ื™ื•ืช ืจื‘ื•ืช.

ืคืจื”ื™ืกื˜ื•ืจื™ื”

ื‘ืขืช ื ื™ื”ื•ืœ Nextcloud, ืžืชืขื•ืจืจืช ื”ื‘ืขื™ื” ืฉืœ ืืจื’ื•ืŸ ื’ื™ื‘ื•ื™ ื™ืขื™ืœ, ืืฉืจ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžื•ืฆืคืŸ, ืฉื›ืŸ ื”ื ืชื•ื ื™ื ื”ื ื‘ืขืœื™ ืขืจืš.

ืื ื• ืžืฆื™ืขื™ื ืืคืฉืจื•ื™ื•ืช ืœืื—ืกื•ืŸ ื’ื™ื‘ื•ื™ื™ื ืืฆืœื ื• ืื• ืืฆืœ ื”ืœืงื•ื— ื‘ืžื›ื•ื ื•ืช ื ืคืจื“ื•ืช ืž-Nextcloud, ืžื” ืฉืžืฆืจื™ืš ื’ื™ืฉื” ืื•ื˜ื•ืžื˜ื™ืช ื’ืžื™ืฉื” ืœื ื™ื”ื•ืœ.

ื™ืฉื ื ืœืงื•ื—ื•ืช ืจื‘ื™ื, ื›ื•ืœื ืขื ืชืฆื•ืจื•ืช ืฉื•ื ื•ืช, ื•ื›ื•ืœื ื‘ืืชืจื™ื ืžืฉืœื”ื ื•ืขื ืžืืคื™ื™ื ื™ื ืžืฉืœื”ื. ื–ื•ื”ื™ ื˜ื›ื ื™ืงื” ืกื˜ื ื“ืจื˜ื™ืช ื›ืืฉืจ ื”ืืชืจ ื›ื•ืœื• ืฉื™ื™ืš ืœืš, ื•ื”ื’ื™ื‘ื•ื™ื™ื ืขืฉื•ื™ื™ื ืžื›ืชืจื™ื; ื–ื” ืœื ืžืชืื™ื.

ืจืืฉื™ืช, ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื ืชื•ื ื™ ื”ืงืœื˜. ืื ื—ื ื• ืฆืจื™ื›ื™ื:

  • ืžื“ืจื’ื™ื•ืช ื‘ืžื•ื ื—ื™ื ืฉืœ ืฆื•ืžืช ืื—ื“ ืื• ื›ืžื”. ืขื‘ื•ืจ ื”ืชืงื ื•ืช ื’ื“ื•ืœื•ืช ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžื™ื ื™ื• ื›ืื—ืกื•ืŸ.
  • ื’ืœื” ืขืœ ื‘ืขื™ื•ืช ื‘ื‘ื™ืฆื•ืข ื’ื™ื‘ื•ื™ื™ื.
  • ืขืœื™ืš ืœืฉืžื•ืจ ื’ื™ื‘ื•ื™ ืขื ื”ืœืงื•ื—ื•ืช ืฉืœืš ื•/ืื• ืื™ืชื ื•.
  • ืœื˜ืคืœ ื‘ื‘ืขื™ื•ืช ื‘ืžื”ื™ืจื•ืช ื•ื‘ืงืœื•ืช.
  • ืœืงื•ื—ื•ืช ื•ื”ืชืงื ื•ืช ืฉื•ื ื™ื ืžืื•ื“ ื–ื” ืžื–ื” - ืœื ื ื™ืชืŸ ืœื”ื’ื™ืข ืœืื—ื™ื“ื•ืช.
  • ืžื”ื™ืจื•ืช ื”ืฉื—ื–ื•ืจ ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืžื™ื ื™ืžืœื™ืช ื‘ืฉื ื™ ืชืจื—ื™ืฉื™ื: ืฉื—ื–ื•ืจ ืžืœื (ืืกื•ืŸ), ืชื™ืงื™ื™ื” ืื—ืช ื ืžื—ืงื” ื‘ื˜ืขื•ืช.
  • ื ื“ืจืฉืช ืคื•ื ืงืฆื™ื™ืช ืžื ื™ืขืช ื›ืคื™ืœื•ืช.

ื›ื™ืฆื“ GitLab ืขื•ื–ืจืช ืœืš ืœื’ื‘ื•ืช ืื—ืกื•ืŸ ื’ื“ื•ืœ ืฉืœ NextCloud

ื›ื“ื™ ืœืคืชื•ืจ ืืช ื‘ืขื™ื™ืช ื ื™ื”ื•ืœ ื”ื’ื™ื‘ื•ื™ื™ื, ื”ืชืงื ื• ืืช GitLab. ืคืจื˜ื™ื ื ื•ืกืคื™ื ืœืคื™ ื”ืชืžื•ื“ื“ื•ืช.

ื›ืžื•ื‘ืŸ, ืื ื—ื ื• ืœื ื”ืจืืฉื•ื ื™ื ืœืคืชื•ืจ ื‘ืขื™ื” ื›ื–ื•, ืื‘ืœ ื ืจืื” ืœื ื• ืฉื”ื ื™ืกื™ื•ืŸ ื”ืžืขืฉื™ ืฉืœื ื• ืฉื”ืจื•ื•ื—ื ื• ืงืฉื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืขื ื™ื™ืŸ ื•ืื ื—ื ื• ืžื•ื›ื ื™ื ืœืฉืชืฃ ืื•ืชื•.

ืžื›ื™ื•ื•ืŸ ืฉืœื—ื‘ืจื” ืฉืœื ื• ื™ืฉ ืžื“ื™ื ื™ื•ืช ืงื•ื“ ืคืชื•ื—, ื—ื™ืคืฉื ื• ืคืชืจื•ืŸ ืงื•ื“ ืคืชื•ื—. ื‘ืชื•ืจื•, ืื ื• ืžืฉืชืคื™ื ืืช ื”ื”ืชืคืชื—ื•ื™ื•ืช ืฉืœื ื• ื•ืžืคืจืกืžื™ื ืื•ืชื. ืœื“ื•ื’ืžื”, ื‘-GitHub ื™ืฉ ื”ืชื•ืกืฃ ืฉืœื ื• ืขื‘ื•ืจ Nextcloud, ืฉืื ื• ืžืกืคืงื™ื ืœืœืงื•ื—ื•ืช, ืชื•ืš ืฉื™ืคื•ืจ ืื‘ื˜ื—ืช ื”ืžื™ื“ืข ื‘ืžืงืจื” ืฉืœ ืžื—ื™ืงื” ื‘ืฉื•ื’ื’ ืื• ื‘ื›ื•ื•ื ื”.

ื›ืœื™ ื’ื™ื‘ื•ื™

ื”ืชื—ืœื ื• ืืช ื”ื—ื™ืคื•ืฉ ืื—ืจ ืฉื™ื˜ื•ืช ืคืชืจื•ืŸ ืขืœ ื™ื“ื™ ื‘ื—ื™ืจืช ื›ืœื™ ืœื™ืฆื™ืจืช ื’ื™ื‘ื•ื™.

tar + gzip ืจื’ื™ืœ ืœื ืขื•ื‘ื“ ื˜ื•ื‘ - ื”ื ืชื•ื ื™ื ืžืฉื•ื›ืคืœื™ื. ืชื•ืกืคืช ืžื›ื™ืœื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืžืขื˜ ืžืื•ื“ ืฉื™ื ื•ื™ื™ื ื‘ืคื•ืขืœ, ื•ื—ืœืง ื’ื“ื•ืœ ืžื”ื ืชื•ื ื™ื ื‘ืชื•ืš ืงื•ื‘ืฅ ื‘ื•ื“ื“ ื—ื•ื–ืจื™ื ืขืœ ืขืฆืžื.
ื™ืฉ ื‘ืขื™ื” ื ื•ืกืคืช - ื™ืชื™ืจื•ืช ืฉืœ ืื—ืกื•ืŸ ื ืชื•ื ื™ื ืžื‘ื•ื–ืจ. ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžื™ื ื™ื• ื•ื”ื ืชื•ื ื™ื ืฉืœื• ืžื™ื•ืชืจื™ื ื‘ืขืฆื. ืื• ืฉื”ื™ื™ืชื ืฆืจื™ื›ื™ื ืœื‘ืฆืข ื’ื™ื‘ื•ื™ ื“ืจืš ื”ืžื™ื ื™ื• ืขืฆืžื• - ื˜ืขืŸ ืื•ืชื• ื•ื”ืฉืชืžืฉ ื‘ื›ืœ ื”ืžืจื•ื•ื—ื™ื ื‘ื™ืŸ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื, ื•ืœื ืคื—ื•ืช ื—ืฉื•ื‘, ื™ืฉ ืกื™ื›ื•ืŸ ืœืฉื›ื•ื— ื—ืœืง ืžื”ื“ืœื™ื™ื ื•ื”ืžื˜ื-ืžื™ื“ืข. ืื• ื”ืฉืชืžืฉ ื‘ืžื ื™ืขืช ื›ืคื™ืœื•ื™ื•ืช.

ื›ืœื™ ื’ื™ื‘ื•ื™ ืขื ืฉื›ืคื•ืœ ื–ืžื™ื ื™ื ื‘ืงื•ื“ ืคืชื•ื— (ื‘-Habrรฉ ื”ื™ื• ืžืืžืจื™ื ื‘ื ื•ืฉื ื–ื”) ื•ื”ืคื™ื™ื ืœื™ืกื˜ื™ื ืฉืœื ื• ื”ื™ื• ื‘ื•ืจื’ ะธ ืงืฉื•ืจ. ื”ื”ืฉื•ื•ืื” ืฉืœื ื• ื‘ื™ืŸ ืฉื ื™ ื”ื™ื™ืฉื•ืžื™ื ื”ื™ื ืœื”ืœืŸ, ืืš ืœืขืช ืขืชื” ื ืกืคืจ ืœื›ื ื›ื™ืฆื“ ืืจื’ื ื• ืืช ื”ืชื›ื ื™ืช ื›ื•ืœื”.

ื ื™ื”ื•ืœ ื’ื™ื‘ื•ื™ื™ื

Borg ื•ืจืกื˜ื™ืง ื˜ื•ื‘ื™ื, ืื‘ืœ ืœืืฃ ืื—ื“ ืžื”ืžื•ืฆืจื™ื ืื™ืŸ ืžื ื’ื ื•ืŸ ื‘ืงืจื” ืจื™ื›ื•ื–ื™. ืœืฆื•ืจืš ื ื™ื”ื•ืœ ื•ื‘ืงืจื” ื‘ื—ืจื ื• ื‘ื›ืœื™ ืฉื›ื‘ืจ ื”ื˜ืžืขื ื•, ืฉื‘ืœืขื“ื™ื• ืœื ื ื•ื›ืœ ืœื“ืžื™ื™ืŸ ืืช ืขื‘ื•ื“ืชื ื•, ื›ื•ืœืœ ืื•ื˜ื•ืžืฆื™ื” - ื–ื”ื• ื”-CI/CD ื”ืžื•ื›ืจ - GitLab.

ื”ืจืขื™ื•ืŸ ื”ื•ื ื›ื“ืœืงืžืŸ: gitlab-runner ืžื•ืชืงืŸ ื‘ื›ืœ ืฆื•ืžืช ื”ืžืื—ืกืŸ ื ืชื•ื ื™ Nextcloud. ื”ืจืฅ ืžืจื™ืฅ ืกืงืจื™ืคื˜ ื‘ืœื•ื— ื–ืžื ื™ื ืฉืžื ื˜ืจ ืืช ืชื”ืœื™ืš ื”ื’ื™ื‘ื•ื™, ื•ื”ื•ื ืžืฉื™ืง ืืช Borg ืื• Restic.

ืžื” ืงื™ื‘ืœื ื•? ืžืฉื•ื‘ ืžื‘ื™ืฆื•ืข, ืฉืœื™ื˜ื” ื ื•ื—ื” ื‘ืฉื™ื ื•ื™ื™ื, ืคืจื˜ื™ื ื‘ืžืงืจื” ืฉืœ ืฉื’ื™ืื”.

ื›ืืŸ ื›ืืŸ ื‘-GitHub ืคืจืกืžื ื• ื“ื•ื’ืžืื•ืช ืฉืœ ื”ืกืงืจื™ืคื˜ ืขื‘ื•ืจ ืžืฉื™ืžื•ืช ืฉื•ื ื•ืช, ื•ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืฆื™ืจืคื ื• ืื•ืชื• ืœื’ื™ื‘ื•ื™ ืฉืœ ืœื ืจืง Nextcloud, ืืœื ื’ื ืฉื™ืจื•ืชื™ื ืจื‘ื™ื ืื—ืจื™ื. ื™ืฉ ืฉื ื’ื ืžืชื–ืžืŸ ืื ืืชื” ืœื ืจื•ืฆื” ืœื”ื’ื“ื™ืจ ืื•ืชื• ื™ื“ื ื™ืช (ื•ืื ื—ื ื• ืœื ืจื•ืฆื™ื) ื•-.gitlab-ci.yml

ืื™ืŸ ืขื“ื™ื™ืŸ ื“ืจืš ืœืฉื ื•ืช ืืช ืคืกืง ื”ื–ืžืŸ ืฉืœ CI/CD ื‘-Gitlab API, ืื‘ืœ ื”ื•ื ืงื˜ืŸ. ืฆืจื™ืš ืœื”ื’ื“ื™ืœ ืื•ืชื•, ื ื ื™ื— 1d.

GitLab, ืœืžืจื‘ื” ื”ืžื–ืœ, ื™ื›ื•ืœื” ืœื”ืฉื™ืง ืœื ืจืง ืœืคื™ commit, ืืœื ืจืง ืœืคื™ ืœื•ื— ื–ืžื ื™ื, ื–ื” ื‘ื“ื™ื•ืง ืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื.

ืขื›ืฉื™ื• ืœื’ื‘ื™ ืชืกืจื™ื˜ ื”ืขื˜ื™ืคื”.

ืื ื• ืžื’ื“ื™ืจื™ื ืืช ื”ืชื ืื™ื ื”ื‘ืื™ื ืขื‘ื•ืจ ืกืงืจื™ืคื˜ ื–ื”:

  • ื™ืฉ ืœื”ืคืขื™ืœ ืื•ืชื• ื”ืŸ ืขืœ ื™ื“ื™ ื”ืจืฅ ื•ื”ืŸ ื‘ื™ื“ ืžื”ืงื•ื ืกื•ืœื” ืขื ืื•ืชื” ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช.
  • ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืžื˜ืคืœื™ ืฉื’ื™ืื•ืช:
  • ืงื•ื“ ื”ื—ื–ืจื”.
  • ื—ืคืฉ ืžื—ืจื•ื–ืช ื‘ื™ื•ืžืŸ. ืœื“ื•ื’ืžื”, ืขื‘ื•ืจื ื• ืฉื’ื™ืื” ืขืฉื•ื™ื” ืœื”ื™ื•ืช ื”ื•ื“ืขื” ืฉื”ืชื•ื›ื ื™ืช ืื™ื ื” ืžื—ืฉื™ื‘ื” ื›ืื˜ืœื ื™ืช.
  • ื–ืžืŸ ืงืฆื•ื‘ ืœืขื™ื‘ื•ื“. ื–ืžืŸ ื”ื”ื•ื‘ืœื” ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืกื‘ื™ืจ.
  • ืื ื—ื ื• ืฆืจื™ื›ื™ื ื™ื•ืžืŸ ืžืคื•ืจื˜ ืžืื•ื“. ืื‘ืœ ืจืง ื‘ืžืงืจื” ืฉืœ ื˜ืขื•ืช.
  • ื›ืžื• ื›ืŸ, ืžืชื‘ืฆืขื•ืช ืžืกืคืจ ื‘ื“ื™ืงื•ืช ืœืคื ื™ ืชื—ื™ืœืช ื”ืขื‘ื•ื“ื”.
  • ื‘ื•ื ื•ืกื™ื ืงื˜ื ื™ื ืœื ื•ื—ื•ืช ืฉืžืฆืื ื• ืฉื™ืžื•ืฉื™ื™ื ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ืชืžื™ื›ื”:
  • ื”ื”ืชื—ืœื” ื•ื”ืกื•ืฃ ื ืจืฉืžื™ื ื‘-syslog ืฉืœ ื”ืžื—ืฉื‘ ื”ืžืงื•ืžื™. ื–ื” ืขื•ื–ืจ ืœื—ื‘ืจ ืฉื’ื™ืื•ืช ืžืขืจื›ืช ื•ืคืขื•ืœืช ื’ื™ื‘ื•ื™.
  • ื—ืœืง ืžื™ื•ืžืŸ ื”ืฉื’ื™ืื•ืช, ืื ืงื™ื™ื, ื™ื•ืฆื ืœ-stdout, ื›ืœ ื”ื™ื•ืžืŸ ื ื›ืชื‘ ืœืงื•ื‘ืฅ ื ืคืจื“. ื–ื” ื ื•ื— ืœื”ืกืชื›ืœ ืžื™ื“ ืขืœ CI ื•ืœื”ืขืจื™ืš ืืช ื”ืฉื’ื™ืื” ืื โ€‹โ€‹ื”ื™ื ื˜ืจื™ื•ื•ื™ืืœื™ืช.
  • ืžืฆื‘ื™ ื ื™ืคื•ื™ ื‘ืื’ื™ื.

ื”ื™ื•ืžืŸ ื”ืžืœื ื ืฉืžืจ ื›ื—ืคืฅ ื‘- GitLab; ืื ืื™ืŸ ืฉื’ื™ืื”, ื”ื™ื•ืžืŸ ื ืžื—ืง. ืื ื—ื ื• ื›ื•ืชื‘ื™ื ืืช ื”ืชืกืจื™ื˜ ื‘-bash.

ื ืฉืžื— ืœืฉืงื•ืœ ื›ืœ ื”ืฆืขื” ื•ื”ืขืจื” ื‘ื ื•ื’ืข ืœืงื•ื“ ืคืชื•ื— - ื‘ืจื•ื›ื™ื ื”ื‘ืื™ื.

ืึตื™ืš ืžึทืคืขึดื™ืœึดื™ื ืึถืช ื–ึถื”

ืจืฅ ืขื ืžืคืขืœ Bash ืžื•ืคืขืœ ื‘ืฆื•ืžืช ื”ื’ื™ื‘ื•ื™. ืœืคื™ ื”ืžืชื–ืžืŸ, ืขื‘ื•ื“ื” CI/CD ืžื•ืฉืงืช ื‘ืœืคืช ืžื™ื•ื—ื“ืช. ื”ืจืฅ ืžืฉื™ืง ืกืงืจื™ืคื˜ ืขื˜ื™ืคื” ืื•ื ื™ื‘ืจืกืœื™ ืœืžืฉื™ืžื•ืช ื›ืืœื”, ื”ื•ื ื‘ื•ื“ืง ืืช ืชืงืคื•ืช ืžืื’ืจ ื”ื’ื™ื‘ื•ื™, ื ืงื•ื“ื•ืช ื”ืจื›ื‘ื” ื•ื›ืœ ืžื” ืฉืื ื—ื ื• ืจื•ืฆื™ื, ื•ืื– ืžื’ื‘ื” ื•ืžื ืงื” ืืช ื”ื™ืฉืŸ. ื”ื’ื™ื‘ื•ื™ ื”ืžื•ื’ืžืจ ืขืฆืžื• ื ืฉืœื— ืœ-S3.

ืื ื• ืขื•ื‘ื“ื™ื ืœืคื™ ืชื›ื ื™ืช ื–ื• - ื–ื” ืกืคืง AWS ื—ื™ืฆื•ื ื™ ืื• ืžืงื‘ื™ืœื” ืจื•ืกื™ืช (ื–ื” ืžื”ื™ืจ ื™ื•ืชืจ ื•ื”ื ืชื•ื ื™ื ืœื ืขื•ื–ื‘ื™ื ืืช ื”ืคื“ืจืฆื™ื” ื”ืจื•ืกื™ืช). ืœื—ืœื•ืคื™ืŸ, ืื ื• ืžืชืงื™ื ื™ื ืœืœืงื•ื— ืžืงื‘ืฅ ืžื™ื ื™ื• ื ืคืจื“ ื‘ืืชืจ ืฉืœื• ืœืžื˜ืจื•ืช ืืœื•. ื‘ื“ืจืš ื›ืœืœ ืื ื• ืขื•ืฉื™ื ื–ืืช ืžื˜ืขืžื™ ืื‘ื˜ื—ื”, ื›ืืฉืจ ื”ืœืงื•ื— ืื™ื ื• ืจื•ืฆื” ืฉื”ื ืชื•ื ื™ื ื™ื™ืฆืื• ืžื”ืžืขื’ืœ ืฉืœื• ื›ืœืœ.

ืœื ื”ืฉืชืžืฉื ื• ื‘ืชื›ื•ื ื” ืฉืœ ืฉืœื™ื—ืช ื’ื™ื‘ื•ื™ ื‘ืืžืฆืขื•ืช ssh. ื–ื” ืœื ืžื•ืกื™ืฃ ืื‘ื˜ื—ื”, ื•ื™ื›ื•ืœื•ืช ื”ืจืฉืช ืฉืœ ืกืคืง ื”-S3 ื’ื‘ื•ื”ื•ืช ื‘ื”ืจื‘ื” ืžืžื›ื•ื ืช ื”-ssh ื”ืื—ืช ืฉืœื ื•.

ื›ื“ื™ ืœื”ื’ืŸ ืขืœ ื”ืžื—ืฉื‘ ื”ืžืงื•ืžื™ ืฉืœืš ืžืคื ื™ ื”ืืงืจ, ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ื™ื›ื•ืœ ืœืžื—ื•ืง ื ืชื•ื ื™ื ื‘-S3, ืขืœื™ืš ืœืืคืฉืจ ื ื™ื”ื•ืœ ื’ืจืกืื•ืช.
ื”ื’ื™ื‘ื•ื™ ืชืžื™ื“ ืžืฆืคื™ืŸ ืืช ื”ื’ื™ื‘ื•ื™.

ืœื‘ื•ืจื’ ื™ืฉ ืžืฆื‘ ืœื ืžื•ืฆืคืŸ none, ืื‘ืœ ืื ื—ื ื• ืžืื•ื“ ืœื ืžืžืœื™ืฆื™ื ืœื”ืคืขื™ืœ ืื•ืชื•. ื‘ืžืฆื‘ ื–ื”, ืœื ืจืง ืฉืœื ืชื”ื™ื” ื”ืฆืคื ื”, ืืœื ืฉืกื›ื•ื ื”ื‘ื“ื™ืงื” ืฉืœ ืžื” ืฉื ื›ืชื‘ ืื™ื ื• ืžื—ื•ืฉื‘, ืžื” ืฉืื•ืžืจ ืฉื ื™ืชืŸ ืœื‘ื“ื•ืง ืืช ื”ืฉืœืžื•ืช ืจืง ื‘ืขืงื™ืคื™ืŸ, ื‘ืืžืฆืขื•ืช ืื™ื ื“ืงืกื™ื.

ืžืชื–ืžืŸ ื ืคืจื“ ื‘ื•ื“ืง ื’ื™ื‘ื•ื™ื™ื ืœืชืงื™ื ื•ืช ื”ืื™ื ื“ืงืกื™ื ื•ื”ืชื•ื›ืŸ. ื”ืฆ'ืง ื”ื•ื ืื™ื˜ื™ ื•ืืจื•ืš, ื•ืœื›ืŸ ืื ื• ืžืคืขื™ืœื™ื ืื•ืชื• ื‘ื ืคืจื“ ืคืขื ื‘ื—ื•ื“ืฉ. ื–ื” ืขืฉื•ื™ ืœืงื—ืช ืžืกืคืจ ื™ืžื™ื.

Readme ื‘ืจื•ืกื™ืช

ืคื•ื ืงืฆื™ื•ืช ืขื™ืงืจื™ื•ืช

  • prepare ื”ื›ื ื”
  • testcheck ื‘ื“ื™ืงืช ืžื•ื›ื ื•ืช
  • maincommand ืฆื•ื•ืช ืœื™ื‘ื”
  • forcepostscript ืคื•ื ืงืฆื™ื” ืฉืžืชื‘ืฆืขืช ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืื• ื‘ื˜ืขื•ืช. ืื ื• ืžืฉืชืžืฉื™ื ื‘ื• ื›ื“ื™ ืœื‘ื˜ืœ ืืช ื˜ืขื™ื ืช ื”ืžื—ื™ืฆื”.

ืคื•ื ืงืฆื™ื•ืช ืฉื™ืจื•ืช

  • cleanup ืื ื• ืžืชืขื“ื™ื ืฉื’ื™ืื•ืช ืื• ืžื•ื—ืงื™ื ืืช ืงื•ื‘ืฅ ื”ื™ื•ืžืŸ.
  • checklog ื ืชื— ืืช ื”ื™ื•ืžืŸ ืขื‘ื•ืจ ื”ืชืจื—ืฉื•ืช ืฉืœ ืฉื•ืจื” ืขื ืฉื’ื™ืื”.
  • ret ืžื˜ืคืœ ื‘ื™ืฆื™ืื”.
  • checktimeout ืœื‘ื“ื•ืง ืคืกืง ื–ืžืŸ.

ืกื‘ื™ื‘ื”

  • VERBOSE=1 ืื ื• ืžืฆื™ื’ื™ื ืฉื’ื™ืื•ืช ืขืœ ื”ืžืกืš ื‘ืื•ืคืŸ ืžื™ื™ื“ื™ (stdout).
  • SAVELOGSONSUCCES=1 ืœืฉืžื•ืจ ืืช ื”ื™ื•ืžืŸ ืขื ื”ืฆืœื—ื”.
  • INIT_REPO_IF_NOT_EXIST=1 ืฆื•ืจ ืžืื’ืจ ืื ื”ื•ื ืœื ืงื™ื™ื. ืžื•ืฉื‘ืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ.
  • TIMEOUT ื–ืžืŸ ืžืงืกื™ืžืœื™ ืœืคืขื•ืœื” ื”ืจืืฉื™ืช. ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื–ื” ื‘ืชื•ืจ 'm', 'h' ืื• 'd' ื‘ืกื•ืฃ.

ืžืฆื‘ ืื—ืกื•ืŸ ืขื‘ื•ืจ ืขื•ืชืงื™ื ื™ืฉื ื™ื. ื‘ึผึฐืจึดื™ืจึทืช ืžึถื—ื“ึธืœ:

  • KEEP_DAILY=7
  • KEEP_WEEKLY=4
  • KEEP_MONTHLY=6

ืžืฉืชื ื™ื ื‘ืชื•ืš ื”ืกืงืจื™ืคื˜

  • ERROR_STRING โ€” ืžื—ืจื•ื–ืช ืขื‘ื•ืจ ื™ื•ืžืŸ ื”ืฆ'ืง ืื™ืŸ ืœืฉื’ื™ืื”.
  • EXTRACT_ERROR_STRING - ื‘ื™ื˜ื•ื™ ืขื‘ื•ืจ ื”ืฆื’ ืžื—ืจื•ื–ืช ืื ืฉื’ื™ืื”.
  • KILL_TIMEOUT_SIGNAL - ืื•ืช ืœื”ืจื’ ืื ืคืกืง ื–ืžืŸ.
  • TAIL - ื›ืžื” ืžื—ืจื•ื–ื•ืช ืขื ืฉื’ื™ืื•ืช ืขืœ ื”ืžืกืš.
  • COLORMSG - ืฆื‘ืข ื”ื”ื•ื“ืขื” (ืฆื”ื•ื‘ ื‘ืจื™ืจืช ืžื—ื“ืœ).

ืœืกืงืจื™ืคื˜ ื”ื–ื”, ืฉื ืงืจื wordpress, ื™ืฉ ืฉื ืžื•ืชื ื”, ื”ื˜ืจื™ืง ืฉืœื• ื”ื•ื ืฉื”ื•ื ื’ื ืžื’ื‘ื” ืืช ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ mysql. ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื” ืขื‘ื•ืจ ื”ืชืงื ื•ืช Nexcloud ืขื ืฆื•ืžืช ื™ื—ื™ื“, ืฉื‘ื”ืŸ ื ื™ืชืŸ ื’ื ืœื’ื‘ื•ืช ืืช ืžืกื“ ื”ื ืชื•ื ื™ื. ื”ื ื•ื—ื•ืช ื”ื™ื ืœื ืจืง ืฉื”ื›ืœ ื ืžืฆื ื‘ืžืงื•ื ืื—ื“, ืืœื ื’ื ืชื›ื•ืœืช ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืงืจื•ื‘ื” ืœืชื•ื›ืŸ ื”ืงื‘ืฆื™ื, ืฉื›ืŸ ื”ืคืจืฉ ื”ืฉืขื•ืช ื”ื•ื ืžื™ื ื™ืžืœื™.

ืจืกื˜ื™ืง ื ื’ื“ ื‘ื•ืจื’

ื™ืฉ ื’ื ื”ืฉื•ื•ืื•ืช ื‘ื™ืŸ ื‘ื•ืจื’ ืœืจืกื˜ื™ืง ื›ืืŸ ืขืœ ื”ืื‘ืจื”, ื•ืœื ื”ื™ื™ืชื” ืœื ื• ืืช ื”ืžืฉื™ืžื” ืœื”ื›ื™ืŸ ืกืชื ืขื•ื“ ืื—ื“, ืืœื ืžืฉืœื ื•. ื”ื™ื” ื—ืฉื•ื‘ ืœื ื• ืื™ืš ื–ื” ื™ื™ืจืื” ื‘ื ืชื•ื ื™ื ืฉืœื ื•, ืขื ื”ืคืจื˜ื™ื ืฉืœื ื•. ืื ื—ื ื• ืžื‘ื™ืื™ื ืื•ืชื.

ืงืจื™ื˜ืจื™ื•ื ื™ ื”ื‘ื—ื™ืจื” ืฉืœื ื•, ื‘ื ื•ืกืฃ ืœืืœื• ืฉื›ื‘ืจ ืฆื•ื™ื ื• (ืžื ื™ืขืช ื›ืคื™ืœื•ื™ื•ืช, ื”ื—ืœืžื” ืžื”ื™ืจื” ื•ื›ื•'):

  • ื”ืชื ื’ื“ื•ืช ืœืขื‘ื•ื“ื” ืœื ื’ืžื•ืจื”. ื‘ื“ื•ืง ืœื”ืจื•ื’ -9.
  • ื’ื•ื“ืœ ื‘ื“ื™ืกืง.
  • ื“ืจื™ืฉื” ืœืžืฉืื‘ื™ื (ืžืขื‘ื“, ื–ื™ื›ืจื•ืŸ).
  • ื’ื•ื“ืœ ื›ืชืžื™ื ืžืื•ื—ืกื ื™ื.
  • ืขื‘ื•ื“ื” ืขื S3.
  • ื‘ื“ื™ืงืช ืชืงื™ื ื•ืช.

ืœื‘ื“ื™ืงื”, ืœืงื—ื ื• ืœืงื•ื— ืื—ื“ ืขื ื ืชื•ื ื™ื ืืžื™ืชื™ื™ื ื•ื’ื•ื“ืœ ื›ื•ืœืœ ืฉืœ 1,6 TB.
ืชื ืื™ื.

ื‘ื•ืจื’ ืœื ื™ื•ื“ืข ืื™ืš ืœืขื‘ื•ื“ ื™ืฉื™ืจื•ืช ืขื S3, ื•ื”ืจื›ื‘ื ื• ืืช ื”ื“ื™ืกืง ื‘ืชื•ืจ ื ืชื™ืš, ื“ืจืš ืฉื˜ื•ื™ื•ืช. ืจืกื˜ื™ืง ืฉืœื— ืื•ืชื• ืœ-S3 ืขืฆืžื•.

Goofys ืขื•ื‘ื“ ืžื”ืจ ืžืื•ื“ ื•ื˜ื•ื‘, ื•ื™ืฉ ืžื•ื“ื•ืœ ืžื˜ืžื•ืŸ ื“ื™ืกืง, ืžื” ืฉืžืื™ืฅ ืืช ื”ืขื‘ื•ื“ื” ืขื•ื“ ื™ื•ืชืจ. ื–ื” ื‘ืฉืœื‘ ื”ื‘ื˜ื, ื•ืœืžืขืŸ ื”ืืžืช, ื”ืชืจืกืงื ื• ืขื ืื•ื‘ื“ืŸ ื ืชื•ื ื™ื ื‘ืžื”ืœืš ื‘ื“ื™ืงื•ืช (ืื—ืจื™ื). ืื‘ืœ ื”ื ื•ื—ื•ืช ื”ื™ื ืฉื”ืœื™ืš ื”ื’ื™ื‘ื•ื™ ืขืฆืžื• ืœื ื“ื•ืจืฉ ื”ืจื‘ื” ืงืจื™ืื”, ืืœื ื‘ืขื™ืงืจ ื›ืชื™ื‘ื”, ื•ืœื›ืŸ ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžื˜ืžื•ืŸ ืจืง ื‘ืžื”ืœืš ื‘ื“ื™ืงื•ืช ืชืงื™ื ื•ืช.

ื›ื“ื™ ืœื”ืคื—ื™ืช ืืช ื”ืฉืคืขืช ื”ืจืฉืช, ื”ืฉืชืžืฉื ื• ื‘ืกืคืง ืžืงื•ืžื™ - Yandex Cloud.

ืชื•ืฆืื•ืช ื‘ื“ื™ืงื•ืช ื”ืฉื•ื•ืื”.

  • Kill -9 ืขื ื”ืคืขืœื” ืžื—ื“ืฉ ื ื•ืกืคืช ื”ื™ื• ืžื•ืฆืœื—ื™ื.
  • ื’ื•ื“ืœ ื‘ื“ื™ืกืง. ื‘ื•ืจื’ ื™ื›ื•ืœ ืœื“ื—ื•ืก, ื›ืš ืฉื”ืชื•ืฆืื•ืช ื”ืŸ ื›ืฆืคื•ื™.

ื’ื™ื‘ื•ื™
ื’ื•ื“ืœ

ื‘ื•ืจื’
562Gb

ืงืฉื•ืจ
628Gb

  • ืœืคื™ ืžืขื‘ื“
    ื‘ื•ืจื’ ืขืฆืžื• ืฆื•ืจืš ืžืขื˜, ืขื ื“ื—ื™ืกืช ื‘ืจื™ืจืช ืžื—ื“ืœ, ืื‘ืœ ื™ืฉ ืœื”ืขืจื™ืš ืืช ื–ื” ื™ื—ื“ ืขื ืชื”ืœื™ืš ื”ืžื˜ื•ืžื˜ื. ื‘ืกืš ื”ื›ืœ, ื”ื ื‘ืจื™ ื”ืฉื•ื•ืื” ื•ืžืฉืชืžืฉื™ื ื‘ื›-1,2 ืœื™ื‘ื•ืช ื‘ืื•ืชื” ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืœื‘ื“ื™ืงื”.
  • ื–ื™ื›ืจื•ืŸ. ืจืกื˜ื™ืง ื”ื•ื ื›-0,5GB, Borg ื”ื•ื ื›-200MB. ืื‘ืœ ื›ืœ ื–ื” ืœื ืžืฉืžืขื•ืชื™ ื‘ื”ืฉื•ื•ืื” ืœืžื˜ืžื•ืŸ ืงื‘ืฆื™ ื”ืžืขืจื›ืช. ืœื›ืŸ ืจืฆื•ื™ ืœื”ืงืฆื•ืช ื™ื•ืชืจ ื–ื™ื›ืจื•ืŸ.
  • ื”ื”ื‘ื“ืœ ื‘ื’ื•ื“ืœ ื”ื›ืชื ื”ื™ื” ื‘ื•ืœื˜.

ื’ื™ื‘ื•ื™
ื’ื•ื“ืœ

ื‘ื•ืจื’
ื‘ืขืจืš 500MB

ืงืฉื•ืจ
ื‘ืขืจืš 5MB

  • ื—ื•ื•ื™ืช ื”-S3 ืฉืœ ืจืกื˜ื™ืง ืžืขื•ืœื”. ืขื‘ื•ื“ื” ืขื Borg ื“ืจืš goofys ืœื ืžืขืœื” ืฉืืœื•ืช, ืืš ืฆื•ื™ืŸ ืฉืžื•ืžืœืฅ ืœื‘ืฆืข umount ืœืื—ืจ ื”ืฉืœืžืช ื”ื’ื™ื‘ื•ื™ ื›ื“ื™ ืœืืคืก ืœื—ืœื•ื˜ื™ืŸ ืืช ื”ืžื˜ืžื•ืŸ. ื”ื™ื™ื—ื•ื“ื™ื•ืช ืฉืœ S3 ื”ื™ื ืฉื—ืœืงื™ื ืฉืื•ื‘ื™ื ืœื ื™ื™ืฉืœื—ื• ืœืขื•ืœื ืœื ื™ื™ืฉืœื—ื• ืœื“ืœื™, ืžื” ืฉืื•ืžืจ ืฉืžื™ื“ืข ืฉืœื ืžืœืื• ื‘ืื•ืคืŸ ืžืœื ืžื•ื‘ื™ืœ ืœื ื–ืง ื’ื“ื•ืœ.
  • ื‘ื“ื™ืงืช ื”ืชืงื™ื ื•ืช ืขื•ื‘ื“ืช ื”ื™ื˜ื‘ ื‘ืฉื ื™ ื”ืžืงืจื™ื, ืืš ื”ืžื”ื™ืจื•ืช ืฉื•ื ื” ืžืฉืžืขื•ืชื™ืช.
    ืจืกื˜ื™ ืฉืขื•ืช 3,5.
    Borg, ืขื ืžื˜ืžื•ืŸ ืงื‘ืฆื™ SSD ืฉืœ 100GB - ืฉืขื•ืช 5ืชื•ืฆืื” ืฉืœ ืื•ืชื” ืžื”ื™ืจื•ืช ื‘ืขืจืš ืื ื”ื ืชื•ื ื™ื ื ืžืฆืื™ื ื‘ื“ื™ืกืง ืžืงื•ืžื™.
    Borg ืงื•ืจื ื™ืฉื™ืจื•ืช ืž-S3 ืœืœื ืžื˜ืžื•ืŸ ืฉืขื•ืช 33. ืืจื•ืš ื‘ืฆื•ืจื” ืžืคืœืฆืชื™ืช.

ื”ืฉื•ืจื” ื”ืชื—ืชื•ื ื” ื”ื™ื ืฉื‘ื•ืจื’ ื™ื›ื•ืœ ืœื“ื—ื•ืก ื•ื™ืฉ ืœื• ื›ืชืžื™ื ื’ื“ื•ืœื™ื ื™ื•ืชืจ - ืžื” ืฉื”ื•ืคืš ืืช ืคืขื•ืœื•ืช ื”ืื—ืกื•ืŸ ื•-GET/PUT ื‘-S3 ืœื–ื•ืœื•ืช ื™ื•ืชืจ. ืื‘ืœ ื–ื” ื‘ื ื‘ืžื—ื™ืจ ืฉืœ ืื™ืžื•ืช ืžื•ืจื›ื‘ ื•ืื™ื˜ื™ ื™ื•ืชืจ. ื‘ืืฉืจ ืœืžื”ื™ืจื•ืช ื”ื”ืชืื•ืฉืฉื•ืช, ืœื ื”ื‘ื—ื ื• ื‘ื”ื‘ื“ืœ. Restic ืœื•ืงื— ืืช ื”ื’ื™ื‘ื•ื™ื™ื ื”ื‘ืื™ื (ืื—ืจื™ ื”ืจืืฉื•ืŸ) ืงืฆืช ื™ื•ืชืจ ื–ืžืŸ, ืื‘ืœ ืœื ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™.

ืื—ืจื•ืŸ ื—ื‘ื™ื‘ ื‘ื‘ื—ื™ืจื” ื”ื™ื” ื’ื•ื“ืœ ื”ืงื”ื™ืœื”.

ื•ื‘ื—ืจื ื• ื‘ื‘ื•ืจื’.

ื›ืžื” ืžื™ืœื™ื ืขืœ ื“ื—ื™ืกื”

ืœื‘ื•ืจื’ ื™ืฉ ืืœื’ื•ืจื™ืชื ื“ื—ื™ืกื” ื—ื“ืฉ ืžืฆื•ื™ืŸ ื‘ืืจืกื ืœ ืฉืœื• - zstd. ืื™ื›ื•ืช ื”ื“ื—ื™ืกื” ืื™ื ื” ื’ืจื•ืขื” ืž-gzip, ืื‘ืœ ื”ืจื‘ื” ื™ื•ืชืจ ืžื”ื™ืจื”. ื•ื ื™ืชืŸ ืœื”ืฉื•ื•ืช ื‘ืžื”ื™ืจื•ืช ืœื‘ืจื™ืจืช ื”ืžื—ื“ืœ lz4.

ืœื“ื•ื’ืžื”, dump ืฉืœ ืžืกื“ ื ืชื•ื ื™ื ืฉืœ MySQL ื ื“ื—ืก ืคื™ ืฉื ื™ื™ื ื™ื•ืชืจ ืžืืฉืจ lz4 ื‘ืื•ืชื” ืžื”ื™ืจื•ืช. ืขื ื–ืืช, ื ื™ืกื™ื•ืŸ ืขื ื ืชื•ื ื™ื ืืžื™ืชื™ื™ื ืžืจืื” ืฉื™ืฉ ื”ื‘ื“ืœ ืงื˜ืŸ ืžืื•ื“ ื‘ื™ื—ืก ื”ื“ื—ื™ืกื” ืฉืœ ืฆื•ืžืช Nextcloud.

ืœื‘ื•ืจื’ ื™ืฉ ืžืฆื‘ ื“ื—ื™ืกื” ื‘ื•ื ื•ืก ืœืžื“ื™ - ืื ืœืงื•ื‘ืฅ ื™ืฉ ืื ื˜ืจื•ืคื™ื” ื’ื‘ื•ื”ื”, ืื– ื”ื“ื—ื™ืกื” ืœื ืžื•ื—ืœืช ื›ืœืœ, ืžื” ืฉืžื’ื‘ื™ืจ ืืช ื”ืžื”ื™ืจื•ืช. ืžื•ืคืขืœ ืขืœ ื™ื“ื™ ืืคืฉืจื•ืช ื‘ืขืช ื™ืฆื™ืจื”
-C auto,zstd
ืขื‘ื•ืจ ืืœื’ื•ืจื™ืชื zstd
ืื– ืขื ื”ืืคืฉืจื•ืช ื”ื–ื•, ื‘ื”ืฉื•ื•ืื” ืœื“ื—ื™ืกืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ, ืงื™ื‘ืœื ื•
560Gb ื•-562Gb ื‘ื”ืชืืžื”. ื”ื ืชื•ื ื™ื ืžื”ื“ื•ื’ืžื” ืœืžืขืœื”, ืœื”ื–ื›ื™ืจื›ื, ืœืœื ื“ื—ื™ืกื” ื”ืชื•ืฆืื” ื”ื™ื 628Gb. ื”ืชื•ืฆืื” ืฉืœ ื”ืคืจืฉ ืฉืœ 2GB ืงืฆืช ื”ืคืชื™ืขื” ืื•ืชื ื•, ืื‘ืœ ื—ืฉื‘ื ื• ืฉื‘ื›ืœ ื–ืืช ื ื‘ื—ืจ ื‘ื”. auto,zstd.

ืฉื™ื˜ืช ืื™ืžื•ืช ื’ื™ื‘ื•ื™

ืœืคื™ ื”ืžืชื–ืžืŸ, ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ืžื•ืคืขืœืช ื™ืฉื™ืจื•ืช ืžื”ืกืคืง ืื• ืžื”ืœืงื•ื—, ืžื” ืฉืžืคื—ื™ืช ืžืื•ื“ ืืช ื”ืขื•ืžืก ื‘ืจืฉืช. ืœืคื—ื•ืช ื–ื” ื™ื•ืชืจ ื–ื•ืœ ืžืืฉืจ ืœื”ืขืœื•ืช ืื•ืชื• ื‘ืขืฆืžืš ื•ืœื”ื ื™ืข ืชื ื•ืขื”.

goofys --cache "--free:5%:/mnt/cache" -o allow_other --endpoint https://storage.yandexcloud.net --file-mode=0666 --dir-mode=0777 xxxxxxx.com /mnt/goofys
export BORG_PASSCOMMAND="cat /home/borg/.borg-passphrase"
borg list /mnt/goofys/borg1/
borg check --debug -p --verify-data /mnt/goofys/borg1/

ื‘ืืžืฆืขื•ืช ืื•ืชื” ืกื›ื™ืžื”, ืื ื• ื‘ื•ื“ืงื™ื ืงื‘ืฆื™ื ืขื ืื ื˜ื™ ื•ื™ืจื•ืก (ืœืื—ืจ ืžืขืฉื”). ืื—ืจื™ ื”ื›ืœ, ืžืฉืชืžืฉื™ื ืžืขืœื™ื ื“ื‘ืจื™ื ืฉื•ื ื™ื ืœ-Nextcloud ื•ืœื ืœื›ื•ืœื ื™ืฉ ืื ื˜ื™ ื•ื™ืจื•ืก. ื‘ื™ืฆื•ืข ื‘ื“ื™ืงื•ืช ื‘ื–ืžืŸ ื”ืžื–ื™ื’ื” ืœื•ืงื— ื™ื•ืชืจ ืžื“ื™ ื–ืžืŸ ื•ืžืคืจื™ืข ืœืขืกืง.

ืžื“ืจื’ื™ื•ืช ืžื•ืฉื’ืช ืขืœ ื™ื“ื™ ื”ืคืขืœืช ืจืฆื™ื ื‘ืฆืžืชื™ื ืฉื•ื ื™ื ืขื ืชื’ื™ื ืฉื•ื ื™ื.
ื”ื ื™ื˜ื•ืจ ืฉืœื ื• ืื•ืกืฃ ืกื˜ื˜ื•ืกื™ ื’ื™ื‘ื•ื™ ื“ืจืš ื”-API ืฉืœ GitLab ื‘ื—ืœื•ืŸ ืื—ื“; ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื ื™ืชืŸ ืœื”ื‘ื—ื™ืŸ ื‘ื‘ืขื™ื•ืช ื‘ืงืœื•ืช ื•ื‘ืงืœื•ืช ืœื”ืชืžืงื.

ืžืกืงื ื”

ื›ืชื•ืฆืื” ืžื›ืš, ืื ื• ื™ื•ื“ืขื™ื ื‘ื•ื•ื“ืื•ืช ืฉืื ื• ืขื•ืฉื™ื ื’ื™ื‘ื•ื™ื™ื, ืฉื”ื’ื™ื‘ื•ื™ื™ื ืฉืœื ื• ืชืงืคื™ื, ื‘ืขื™ื•ืช ืฉืฆืฆื•ืช ืื™ืชื ืœื•ืงื—ื•ืช ืžืขื˜ ื–ืžืŸ ื•ื ืคืชืจื•ืช ื‘ืจืžืช ื”ืžื ื”ืœ ื”ืชื•ืจืŸ. ื’ื™ื‘ื•ื™ื™ื ืชื•ืคืกื™ื ืžืžืฉ ืžืขื˜ ืžืงื•ื ื‘ื”ืฉื•ื•ืื” ืœ-tar.gz ืื• Bacula.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”