แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ postgresql แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜ pgbackrest-แƒ˜แƒ— - แƒ™แƒฃแƒ แƒกแƒ˜ แƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒ แƒ›แƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒกแƒ’แƒแƒœ

แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒฃแƒแƒ แƒงแƒแƒคแƒ

แƒ›แƒ” แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ แƒ•แƒแƒ . แƒ™แƒแƒ“แƒก แƒ•แƒฌแƒ”แƒ  แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ•แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜. แƒแƒ แƒแƒ•แƒ˜แƒ—แƒแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ  แƒ•แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ˜ แƒžแƒ แƒ”แƒขแƒ”แƒœแƒ–แƒ˜แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒแƒ“, แƒ›แƒ˜แƒ— แƒฃแƒ›แƒ”แƒขแƒ”แƒก, dba. แƒ›แƒแƒ’แƒ แƒแƒ›โ€ฆ

แƒ˜แƒกแƒ” แƒ›แƒแƒฎแƒ“แƒ, แƒ แƒแƒ› แƒ“แƒแƒ›แƒญแƒ˜แƒ แƒ“แƒ postgresql แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ. แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” - แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— SSH แƒ“แƒ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒคแƒฃแƒšแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ แƒแƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒแƒกแƒ”แƒ— แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒจแƒ˜? แƒแƒกแƒ”แƒ, pgdump-แƒก แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— cron-แƒจแƒ˜, แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒก แƒงแƒแƒ•แƒ”แƒšแƒ“แƒฆแƒ” แƒแƒ แƒฅแƒ˜แƒ•แƒจแƒ˜ แƒ“แƒ แƒ—แƒฃ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ“แƒแƒ•แƒ˜แƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ˜แƒ—, แƒแƒ› แƒแƒ แƒฅแƒ˜แƒ•แƒก แƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒ— แƒกแƒแƒ“แƒ›แƒ” แƒจแƒแƒ แƒก.

แƒแƒ›แƒฏแƒ”แƒ แƒแƒ“ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ” แƒ˜แƒก แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ“แƒฆแƒ”แƒจแƒ˜ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— +- 100 แƒ›แƒ‘-แƒ˜แƒ— แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒแƒก. แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒ•แƒ˜แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก pgdump-แƒ˜แƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜ แƒ’แƒแƒฅแƒ แƒ”แƒ‘แƒ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒแƒ“แƒแƒช แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ“แƒ˜แƒก แƒกแƒแƒ›แƒแƒจแƒ•แƒ”แƒšแƒแƒจแƒ˜.

แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ? แƒ™แƒ”แƒ—แƒ˜แƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ™แƒแƒขแƒแƒจแƒ˜.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ แƒ แƒงแƒ•แƒ”แƒšแƒ แƒฌแƒงแƒแƒ แƒแƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒฎแƒแƒšแƒ˜ แƒ“แƒ แƒ˜แƒก แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ แƒฌแƒ˜แƒœแƒ แƒแƒกแƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒ แƒแƒ’แƒแƒ แƒช แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒแƒ  แƒกแƒฃแƒ แƒ“แƒ (แƒ˜แƒ› แƒ“แƒ แƒแƒก) แƒ’แƒแƒ”แƒ’แƒ แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒ˜, แƒ›แƒ” แƒ›แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ›แƒ”แƒžแƒแƒ•แƒ แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒฆแƒ˜แƒšแƒแƒ™แƒ˜. แƒ™แƒแƒ แƒ’แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช AWS-แƒจแƒ˜, DigitalOcean-แƒจแƒ˜: แƒ—แƒฅแƒ•แƒ”แƒœ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒ”แƒ แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก - แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒ›แƒ”แƒแƒ แƒ”แƒก - แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜, แƒ›แƒ”แƒกแƒแƒ›แƒ” - แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒกแƒแƒแƒ—แƒ˜แƒ— แƒฃแƒ™แƒแƒœ. แƒ›แƒ” แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒ” แƒฆแƒ˜แƒšแƒแƒ™แƒ˜ แƒแƒœ แƒšแƒแƒ›แƒแƒ–แƒ˜ GUI แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜. แƒ—แƒฃ แƒ˜แƒชแƒ˜แƒ— แƒ”แƒ แƒ—แƒ˜ (แƒฃแƒคแƒแƒกแƒ แƒแƒœ แƒ˜แƒแƒคแƒ˜), แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜.

แƒ’แƒฃแƒ’แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒ•แƒ˜แƒžแƒแƒ•แƒ” pgbarman ะธ pgbackrest. แƒ›แƒ” แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ  แƒ’แƒแƒ›แƒแƒ›แƒ˜แƒ•แƒ˜แƒ“แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜แƒ— (แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒฌแƒ˜แƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ, แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ˜ แƒ’แƒแƒ›แƒ”แƒ’แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒซแƒ•แƒ”แƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ”แƒแƒ แƒ”แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒขแƒแƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœแƒช แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒจแƒ” แƒ“แƒ’แƒแƒก, แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒ’แƒแƒกแƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒ แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ.

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒ— แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜, แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒ˜แƒกแƒขแƒแƒœแƒชแƒ˜แƒฃแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” (แƒกแƒแƒชแƒแƒ•แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒ—) แƒ“แƒ แƒแƒฆแƒแƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒแƒœ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.

แƒกแƒแƒกแƒฌแƒแƒ•แƒšแƒ

แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒก แƒ’แƒแƒกแƒแƒ›แƒ แƒแƒ•แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒแƒ แƒ˜ VPS. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒชแƒแƒ•แƒ˜ (แƒกแƒแƒชแƒแƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒ“แƒแƒช แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜) แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ”, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒ—แƒแƒ•แƒแƒ“ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ”แƒ‘แƒ˜แƒ— (แƒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก 11 แƒ•แƒ”แƒ แƒกแƒ˜แƒ).

แƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ‘แƒ”แƒœ, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” postgres-แƒ˜แƒ— แƒ’แƒแƒฅแƒ•แƒ— root, sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜, postgres แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ postgres แƒแƒ แƒ˜แƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ (postgres แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ postgresql-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก), แƒฎแƒแƒšแƒ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒแƒ แƒ˜แƒก root แƒ“แƒ sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ (แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒจแƒ˜. แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ pgbackrest).

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ’แƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ›แƒ” แƒ•แƒฌแƒ”แƒ  แƒ“แƒแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒ“, แƒ แƒแƒ›แƒ”แƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒแƒœ แƒ“แƒ แƒ แƒ แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒกแƒ แƒฃแƒšแƒ” แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒฌแƒ”แƒ แƒ˜แƒกแƒ แƒ“แƒ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒกแƒแƒก.

pgbackrest-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ

แƒกแƒแƒชแƒแƒ•แƒ˜ (แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก pgbackrest):

1. แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒแƒ แƒฅแƒ˜แƒ•แƒ˜ pgbackrest-แƒ“แƒแƒœ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜ /build แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜:

sudo mkdir /build
sudo wget -q -O - 
       https://github.com/pgbackrest/pgbackrest/archive/release/2.18.tar.gz | 
       sudo tar zx -C /build

2. แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

sudo apt-get update
sudo apt-get install build-essential libssl-dev libxml2-dev libperl-dev zlib1g-dev 
       libpq-dev

3. pgbackrest แƒแƒฌแƒงแƒแƒ‘แƒ:

cd /build/pgbackrest-release-2.18/src && sudo ./configure
sudo make -s -C /build/pgbackrest-release-2.18/src

4. แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ /usr/bin แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜:

sudo cp /build/pgbackrest-release-2.18/src/pgbackrest /usr/bin
sudo chmod 755 /usr/bin/pgbackrest

5. Pgbackrest แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก perl-แƒก. แฒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ:

sudo apt-get install perl

6. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ”แƒ‘แƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ˜แƒ”แƒชแƒ˜แƒ— แƒ›แƒแƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

sudo mkdir -p -m 770 /var/log/pgbackrest
sudo chown pgbackrest:pgbackrest /var/log/pgbackrest
sudo mkdir -p /etc/pgbackrest
sudo mkdir -p /etc/pgbackrest/conf.d
sudo touch /etc/pgbackrest/pgbackrest.conf
sudo chmod 640 /etc/pgbackrest/pgbackrest.conf
sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf

7. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ—:

pgbackrest version

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒœ root):

Pgbackrest แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” postgres-แƒ˜แƒ— แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ แƒกแƒแƒชแƒแƒ•แƒ–แƒ” แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก (แƒ“แƒ˜แƒแƒฎ, pgbackrest แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ”-6 แƒแƒ‘แƒ–แƒแƒชแƒจแƒ˜ แƒ›แƒ”แƒแƒ แƒ” แƒ“แƒ แƒ‘แƒแƒšแƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

sudo chown pgbackrest:pgbackrest /var/log/pgbackrest
sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf

แƒจแƒ”แƒชแƒ•แƒšแƒ:

sudo chown postgres:postgres /var/log/pgbackrest
sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf

แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” SSH-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› pgbackrest-แƒ›แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒกแƒ แƒ“แƒ แƒกแƒแƒชแƒแƒ•แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒกแƒแƒชแƒแƒ•แƒ˜ (แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก pgbackrest):

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜:

mkdir -m 750 /home/pgbackrest/.ssh
ssh-keygen -f /home/pgbackrest/.ssh/id_rsa 
       -t rsa -b 4096 -N ""

แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ— แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒก sudo-แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒœ root):

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜:

sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh
sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa 
       -t rsa -b 4096 -N ""

แƒกแƒแƒชแƒแƒ•แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒกแƒแƒฏแƒแƒ แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”:

(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && 
       echo -n 'command="/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }" ' && 
       sudo ssh root@<postgres_server_ip> cat /var/lib/postgresql/.ssh/id_rsa.pub) | 
       sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys

แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ”แƒ—แƒฎแƒแƒ•แƒ”แƒ‘แƒแƒ— แƒžแƒแƒ แƒแƒšแƒ˜ root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ˜!

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒกแƒแƒฏแƒแƒ แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” postgres-แƒ˜แƒ—:

(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' && 
       echo -n 'command="/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }" ' && 
       sudo ssh root@<repository_server_ip> cat /home/pgbackrest/.ssh/id_rsa.pub) | 
       sudo -u postgres tee -a /var/lib/postgresql/.ssh/authorized_keys

แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ˜แƒก แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒžแƒแƒ แƒแƒšแƒก root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ˜!

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ—:

แƒกแƒแƒชแƒแƒ•แƒ˜ (แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒ˜แƒฌแƒ›แƒ˜แƒœแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก):

sudo -u pgbackrest ssh postgres@<postgres_server_ip>

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒ˜แƒฌแƒ›แƒ˜แƒœแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก):

sudo -u postgres ssh pgbackrest@<repository_server_ip>

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ–แƒ แƒฃแƒœแƒแƒ•แƒ—, แƒ แƒแƒ› แƒฃแƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ“ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก.

แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒœ root):

1. แƒ“แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ“แƒแƒ™แƒแƒ™แƒฃแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ” IP-แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ˜ postgresql.conf (แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก /etc/postgresql/11/main แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜), แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ›แƒแƒก แƒฎแƒแƒ–แƒ˜:

listen_addresses = '*'

แƒ—แƒฃ แƒแƒกแƒ”แƒ—แƒ˜ แƒฎแƒแƒ–แƒ˜ แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก, แƒแƒœ แƒ’แƒแƒแƒฃแƒฅแƒ›แƒ”แƒ— แƒ˜แƒ’แƒ˜ แƒแƒœ แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช '*'.

แƒคแƒแƒ˜แƒšแƒจแƒ˜ pg_hba.conf (แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ /etc/postgresql/11/main) แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ”แƒ‘แƒ˜:

hostssl  all  all  0.0.0.0/0  md5
host  all  all  0.0.0.0/0  md5

แƒกแƒแƒ“แƒแƒช:

hostssl/host - ะฟะพะดะบะปัŽั‡ะฐะตะผัั ั‡ะตั€ะตะท SSL (ะธะปะธ ะฝะตั‚)
all - ั€ะฐะทั€ะตัˆะฐะตะผ ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะบะพ ะฒัะตะผ ะฑะฐะทะฐะผ
all - ะธะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั, ะบะพั‚ะพั€ะพะผัƒ ั€ะฐะทั€ะตัˆะฐะตะผ ะฟะพะดะบะปัŽั‡ะตะฝะธะต (ะฒัะตะผ)
0.0.0.0/0 - ะผะฐัะบะฐ ัะตั‚ะธ ั ะบะพั‚ะพั€ะพะน ะผะพะถะฝะพ ะฟะพะดะบะปัŽั‡ะฐั‚ัŒัั
md5 - ัะฟะพัะพะฑ ัˆะธั„ั€ะพะฒะฐะฝะธั ะฟะฐั€ะพะปั

2. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ postgresql.conf (แƒ˜แƒก แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜แƒ /etc/postgresql/11/main) pgbackrest แƒ แƒแƒ› แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก:

archive_command = 'pgbackrest --stanza=main archive-push %p' # ะ“ะดะต main - ะฝะฐะทะฒะฐะฝะธะต ะบะปะฐัั‚ะตั€ะฐ. ะŸั€ะธ ัƒัั‚ะฐะฝะพะฒะบะต postgres ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ ัะพะทะดะฐะตั‚ ะบะปะฐัั‚ะตั€ main.
archive_mode = on
max_wal_senders = 3
wal_level = replica

3. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ pgbackrest แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜ (/etc/pgbackrest/pgbackrest.conf):

[main]
pg1-path=/var/lib/postgresql/11/main

[global]
log-level-file=detail
repo1-host=<repository_server_ip>

4. แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— postgresql:

sudo service postgresql restart

แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒกแƒแƒชแƒแƒ•แƒ˜ (pgbackrest แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜ pgbackrest
(/etc/pgbackrest/pgbackrest.conf):

[main]
pg1-host=<postgres_server_ip>
pg1-path=/var/lib/postgresql/11/main

[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2 # ะŸะฐั€ะฐะผะตั‚ั€, ัƒะบะฐะทั‹ะฒะฐัŽั‰ะธะน ัะบะพะปัŒะบะพ ั…ั€ะฐะฝะธั‚ัŒ ะฟะพะปะฝั‹ั… ะฑัะบะฐะฟะพะฒ. ะข.ะต. ะตัะปะธ ัƒ ะฒะฐั ะตัั‚ัŒ ะดะฒะฐ ะฟะพะปะฝั‹ั… ะฑัะบะฐะฟะฐ ะธ ะฒั‹ ัะพะทะดะฐะตั‚ะต ั‚ั€ะตั‚ะธะน, ั‚ะพ ัะฐะผั‹ะน ัั‚ะฐั€ั‹ะน ะฑัะบะฐะฟ ะฑัƒะดะตั‚ ัƒะดะฐะปะตะฝ. ะœะพะถะฝะพ ะฟั€ะพะธะทะฝะพัะธั‚ัŒ ะบะฐะบ "ั…ั€ะฐะฝะธั‚ัŒ ะฝะต ะฑะพะปะตะต ะดะฒัƒั… ะฑัะบะฐะฟะพะฒ" - ะฟะพ ะฐะฝะฐะปะพะณะธะธ ั ั€ะพั‚ะฐั†ะธัะผะธ ะปะพะณะพะฒ. ะกะฟะฐัะธะฑะพ @Aytuar ะทะฐ ะธัะฟั€ะฐะฒะปะตะฝะธะต ะพัˆะธะฑะบะธ.
start-fast=y # ะะฐั‡ะธะฝะฐะตั‚ ั€ะตะทะตั€ะฒะฝะพะต ะบะพะฟะธั€ะพะฒะฐะฝะธะต ะฝะตะผะตะดะปะตะฝะฝะพ, ะฟั€ะพั‡ะธั‚ะฐั‚ัŒ ะฟั€ะพ ัั‚ะพั‚ ะฟะฐั€ะฐะผะตั‚ั€ ะผะพะถะฝะพ ั‚ัƒั‚ https://postgrespro.ru/docs/postgrespro/9.5/continuous-archiving

แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ

แƒกแƒแƒชแƒแƒ•แƒ˜ (pgbackrest แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜:

sudo mkdir -m 770 /var/lib/pgbackrest
sudo chown -R pgbackrest /var/lib/pgbackrest/
sudo -u pgbackrest pgbackrest --stanza=main stanza-create

ะŸั€ะพะฒะตั€ะบะฐ

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒœ root):

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒžแƒแƒกแƒขแƒ’แƒ แƒ”แƒกแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”:

sudo -u postgres pgbackrest --stanza=main --log-level-console=info check

แƒกแƒแƒชแƒแƒ•แƒ˜ (pgbackrest แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก:

sudo -u pgbackrest pgbackrest --stanza=main --log-level-console=info check

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒจแƒ˜ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒฎแƒแƒ–แƒก "แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ˜: แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ".

แƒ“แƒแƒ˜แƒฆแƒแƒšแƒ? แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒœแƒแƒฌแƒ˜แƒšแƒ–แƒ”.

แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ

แƒกแƒแƒชแƒแƒ•แƒ˜ (pgbackrest แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

1. แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜:

sudo -u pgbackrest pgbackrest --stanza=main backup

2. แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ:

ls /var/lib/pgbackrest/backup/main/

Pgbackrest แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒกแƒ แƒฃแƒš แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒก. แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ™แƒ•แƒšแƒแƒ• แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒก.

แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ แƒแƒจแƒ:

sudo -u pgbackrest pgbackrest --stanza=main --type=full backup

แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ—:

sudo -u pgbackrest pgbackrest --stanza=main --type=full --log-level-console=info backup

แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ

Postgres แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ (sudo แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒœ root):

1. แƒจแƒ”แƒแƒฉแƒ”แƒ แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜:

sudo pg_ctlcluster 11 main stop

2. แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒ“แƒแƒœ:

sudo -u postgres pgbackrest --stanza=main --log-level-console=info --delta --recovery-option=recovery_target=immediate restore

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ‘แƒแƒšแƒ แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜ แƒแƒฆแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ recovery_target-แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”:

sudo -u postgres pgbackrest --stanza=main --log-level-console=info --delta restore

แฒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜! แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ’แƒแƒฉแƒ”แƒ แƒ“แƒ”แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ (แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ ERROR: แƒ•แƒ”แƒ  แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก DROP DATABASE แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒจแƒ˜). แƒ›แƒแƒ แƒ—แƒแƒšแƒ˜ แƒ’แƒ˜แƒ—แƒฎแƒ แƒแƒ—, แƒฏแƒ”แƒ  แƒ•แƒ”แƒ  แƒ’แƒแƒ•แƒ˜แƒ’แƒ” แƒ”แƒก แƒ แƒแƒกแƒ—แƒแƒœ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜แƒ (แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒชแƒแƒขแƒ แƒฎแƒแƒœแƒ˜ แƒšแƒแƒ“แƒ˜แƒœแƒ˜):

sudo -u postgres psql -c "select pg_wal_replay_resume()"

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ—. แƒแƒฅ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ” แƒ•แƒแƒ  แƒ›แƒ” แƒ›แƒ˜แƒ•แƒชแƒ”แƒ› แƒ‘แƒ›แƒฃแƒšแƒก แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜. แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒ˜แƒ แƒฉแƒ”แƒ•แƒ”แƒœ แƒแƒ› แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒกแƒ˜แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ˜แƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒฎแƒกแƒœแƒ˜แƒแƒœ แƒ แƒแƒขแƒแƒ›. แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”. แƒ—แƒฃ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—, แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ (แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— pg_is_in_recovery() แƒฃแƒœแƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒแƒก โ€žfโ€œ) แƒ“แƒ แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

3. แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜:

sudo pg_ctlcluster 11 main start

แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒ›แƒ”แƒแƒ แƒ” แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜:

แƒกแƒแƒชแƒแƒ•แƒ˜ (pgbackrest แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜):

sudo pgbackrest --stanza=main backup

แฒกแƒฃแƒš แƒ”แƒก แƒแƒ แƒ˜แƒก. แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒก, แƒ›แƒ˜แƒœแƒ“แƒ แƒจแƒ”แƒ’แƒแƒฎแƒกแƒ”แƒœแƒแƒ—, แƒ แƒแƒ› แƒ›แƒ” แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘ แƒ—แƒแƒ•แƒ˜ แƒ›แƒแƒ•แƒ˜แƒฅแƒชแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒคแƒ แƒแƒกแƒ˜ แƒ“แƒ‘แƒ แƒ“แƒ แƒแƒ“แƒœแƒแƒ•แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒก. แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒ›แƒ” แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ—แƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ, แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ แƒ“แƒ แƒ.แƒจ. แƒ“แƒ แƒ•แƒฌแƒ”แƒ  แƒ›แƒชแƒ˜แƒ แƒ” แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ—แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ•แƒ˜แƒขแƒแƒœแƒ แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒขแƒแƒ•แƒ แƒžแƒแƒขแƒแƒ แƒ แƒ—แƒแƒฆแƒšแƒ˜แƒ—แƒฃแƒ แƒ˜ แƒคแƒฃแƒ แƒชแƒšแƒ”แƒ‘แƒ˜ แƒฉแƒ”แƒ›แƒ—แƒ•แƒ˜แƒก.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒ•แƒ”แƒชแƒ“แƒ”แƒ‘แƒ˜ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ” - แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ แƒกแƒฃแƒคแƒ—แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜, แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ แƒ“แƒ S3-แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ, แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜ rsync-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ