The bot has no backups or snapshots, you make copies yourself. Regularly pull important data from the server to your own machine or to another server.
Reinstall wipes the disk completely, Delete wipes the server along with its data, and neither can be undone. Keep copies off the server itself, otherwise they are lost along with it.
Copying database files directly is unreliable, you need a dump. Make it on the server and pull the file as in the Files section. The first line dumps one database, the second all of them.
The % sign in crontab is escaped as \%. In advance, set up SSH key login from this server to the receiving one and create the /backups directory there.
Back up a database the same way: first mysqldump or pg_dump into a file, then rsync that file.
Test a restore at least once: deploy the dump and the archive on a test server and make sure the data reads correctly.Next: Firewall, Server hardening.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Lumi","description":"Серверы VPS Lumi: настройка, подключение и решение проблем","colors":{"primary":"#0EA5E9","light":"#38BDF8","dark":"#0284C7"},"logo":{"light":"https://mintcdn.com/lumi-8e9f3d35/2MclTGnmS1VG2Abe/logo.svg?fit=max\u0026auto=format\u0026n=2MclTGnmS1VG2Abe\u0026q=85\u0026s=f86070567b66af34654de1a77f8360ff","dark":"https://mintcdn.com/lumi-8e9f3d35/2MclTGnmS1VG2Abe/logo.svg?fit=max\u0026auto=format\u0026n=2MclTGnmS1VG2Abe\u0026q=85\u0026s=f86070567b66af34654de1a77f8360ff"},"favicon":"https://mintcdn.com/lumi-8e9f3d35/eTLjd4bhyqCNp3WB/favicon.svg?fit=max\u0026auto=format\u0026n=eTLjd4bhyqCNp3WB\u0026q=85\u0026s=07499b3f01b1b78ec5d44f31210e6dd8","appearance":{"default":"dark"},"background":{"color":{"light":"#F6F5F4","dark":"#1E1E1F"}},"navbar":{"links":[],"primary":{"type":"button","label":"Канал Lumi","href":"https://t.me/+7XIA2JUDcbAyNjA0"}},"footer":{"socials":{}},"search":{"prompt":"Поиск"},"fonts":{"family":"Inter"},"styling":{"codeblocks":"system","latex":false},"contextual":{"options":[],"display":"header"},"navigation":{"languages":[{"language":"ru","default":true,"href":"vps"},{"language":"en","href":"en/vps"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lumi-8e9f3d35","hasAudioNarration":false,"actualSubdomain":"lumi-8e9f3d35","customDomains":["wiki.lumiweb.cc"],"gitSource":{"type":"github","owner":"nvrloseeee-hash","repo":"lumidocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac6411e78c1c22ae0f1c88e","collectionId":"bb88e502-e415-4c87-91bb-dba60129529b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac6411e78c1c22ae0f1c88e"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac6411e78c1c22ae0f1c88e","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"en","tag":"VPS","count":26},{"language":"ru","tag":"VPS","count":26},{"language":"en","tag":"Software \u0026 services","count":12},{"language":"ru","tag":"Софт и сервисы","count":12},{"language":"en","tag":"Setup","count":8},{"language":"ru","tag":"Настройка","count":8},{"language":"en","tag":"Basics","count":4},{"language":"ru","tag":"Основное","count":4},{"language":"en","tag":"Protection \u0026 issues","count":2},{"language":"ru","tag":"Защита и проблемы","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar-content{width:16rem!important}#sidebar-content a{white-space:nowrap}"}],"page":{"pagePath":"en/vps/backups","slug":"/en/vps/backups","pageMetadata":{"title":"Backups","sidebarTitle":"Backups","description":"Back up your own data","icon":"box-archive","href":"/en/vps/backups"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Back up your own data\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tab,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The bot has no backups or snapshots, you make copies yourself. Regularly pull important data from the server to your own machine or to another server.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Reinstall`}),` wipes the disk completely, `,_jsx(_components.strong,{children:`Delete`}),` wipes the server along with its data, and neither can be undone. Keep copies off the server itself, otherwise they are lost along with it.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`files`,children:`Files`}),`\n`,_jsxs(_components.p,{children:[`Run these on your own computer, replace `,_jsx(_components.code,{children:`IP`}),` with the `,_jsx(_components.strong,{children:`Server IP`}),` from the card. A one-off copy of a directory:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`scp`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -r`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` root@IP:/var/www`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./backup`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For repeat copies `,_jsx(_components.code,{children:`rsync`}),` is handier: it transfers only what changed and runs faster.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`rsync`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -avz`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` root@IP:/var/www`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./backup`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`-a`})}),` – preserves permissions and structure.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`-v`})}),` – shows progress.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`-z`})}),` – compresses during transfer.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`database-dump`,children:`Database dump`}),`\n`,_jsx(_components.p,{children:`Copying database files directly is unreliable, you need a dump. Make it on the server and pull the file as in the Files section. The first line dumps one database, the second all of them.`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`MySQL / MariaDB`,id:`mysql-%2F-mariadb`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`mysqldump`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -u`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` root`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -p`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` DB_NAME`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` db.sql`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`mysqldump`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -u`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` root`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -p`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --all-databases`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` all.sql`})]}),`\n`]})})})}),_jsx(Tab,{title:`PostgreSQL`,id:`postgresql`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -u`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` postgres`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pg_dump`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` DB_NAME`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` db.sql`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -u`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` postgres`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pg_dumpall`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` all.sql`})]}),`\n`]})})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`archive`,children:`Archive`}),`\n`,_jsx(_components.p,{children:`A directory packed into one compressed file is easy to download:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`tar`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -czf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` backup.tar.gz`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /var/www`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`-c`})}),` – create an archive.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`-z`})}),` – compress with gzip.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`-f`})}),` – file name.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`To unpack: `,_jsx(_components.code,{children:`tar -xzf backup.tar.gz`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`schedule`,children:`Schedule`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cron`}),` – open the schedule on the server:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`crontab`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`})]}),`\n`]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Line`}),` – add it: every day at 03:00 the directory is copied to another server.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`0`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 3`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` *`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` *`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` *`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsync`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -az`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /var/www`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` root@BACKUP_IP:/backups/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`date`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` +`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\%`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`F`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`%`}),` sign in crontab is escaped as `,_jsx(_components.code,{children:`\\\\%`}),`. In advance, set up `,_jsx(_components.a,{href:`/en/vps/ssh-keys`,children:`SSH key`}),` login from this server to the receiving one and create the `,_jsx(_components.code,{children:`/backups`}),` directory there.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Back up a database the same way: first `,_jsx(_components.code,{children:`mysqldump`}),` or `,_jsx(_components.code,{children:`pg_dump`}),` into a file, then `,_jsx(_components.code,{children:`rsync`}),` that file.`]}),`\n`,_jsx(Heading,{level:`2`,id:`whole-server`,children:`Whole server`}),`\n`,_jsx(_components.p,{children:`The bot cannot take a disk image. For a move or a full copy, the important directories are enough: sites, configs, database dumps.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`tar`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -czf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` full.tar.gz`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /var/www`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /home`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /root`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`To move a directory to a new server, `,_jsx(_components.code,{children:`rsync`}),` is handier: it copies directly, without an archive.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`rsync`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -avz`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /var/www/`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` root@NEW_IP:/var/www/`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Copying the whole disk with `,_jsx(_components.code,{children:`dd`}),` on a running system is unsafe: back up directories and database dumps.`]}),`\n`,_jsx(Heading,{level:`2`,id:`check`,children:`Check`}),`\n`,_jsx(_components.p,{children:`Test a restore at least once: deploy the dump and the archive on a test server and make sure the data reads correctly.`}),`\n`,_jsxs(_components.p,{children:[`Next: `,_jsx(_components.a,{href:`/en/vps/firewall`,children:`Firewall`}),`, `,_jsx(_components.a,{href:`/en/vps/hardening`,children:`Server hardening`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Backups","sidebarTitle":"Backups","description":"Back up your own data","icon":"box-archive","href":"/en/vps/backups"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Files","slug":"files","depth":2,"children":[]},{"title":"Database dump","slug":"database-dump","depth":2,"children":[]},{"title":"Archive","slug":"archive","depth":2,"children":[]},{"title":"Schedule","slug":"schedule","depth":2,"children":[]},{"title":"Whole server","slug":"whole-server","depth":2,"children":[]},{"title":"Check","slug":"check","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"lumi-8e9f3d35","siteName":"Lumi","title":"Backups - Lumi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"ru":{"href":"/vps/backups","matchLevel":1},"en":{"href":"/en/vps/backups","matchLevel":0}}},"lastModified":"2026-10-04T13:36:58.270Z","originalFileLocation":"en/vps/backups.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Back up your own data\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lumi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Backups - Lumi\">\u003cmeta data-mint-head property=\"og:description\" content=\"Back up your own data\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lumi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://wiki.lumiweb.cc/en/vps/backups\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lumi-8e9f3d35.mintlify.app/_mintlify/api/og/v2?division=Setup\u0026amp;title=Backups\u0026amp;description=Back+up+your+own+data\u0026amp;theme=7c698ff8427173e2bbc2bba2\u0026amp;signature=19804bc9662f35f68af0f1c2f734a6430ce3582ea409251f19918a1f42e65abb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Backups - Lumi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Back up your own data\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lumi-8e9f3d35.mintlify.app/_mintlify/api/og/v2?division=Setup\u0026amp;title=Backups\u0026amp;description=Back+up+your+own+data\u0026amp;theme=7c698ff8427173e2bbc2bba2\u0026amp;signature=19804bc9662f35f68af0f1c2f734a6430ce3582ea409251f19918a1f42e65abb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lumi-8e9f3d35/xL3B4vgHb9JI4RjC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lumi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0EA5E9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://wiki.lumiweb.cc/en/vps/backups\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/vps/backups.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://wiki.lumiweb.cc/en/vps/backups\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://wiki.lumiweb.cc/vps/backups\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://wiki.lumiweb.cc/vps/backups\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://wiki.lumiweb.cc/#organization\",\"name\":\"Lumi\",\"url\":\"https://wiki.lumiweb.cc\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lumi-8e9f3d35/2MclTGnmS1VG2Abe/logo.svg?fit=max\u0026auto=format\u0026n=2MclTGnmS1VG2Abe\u0026q=85\u0026s=f86070567b66af34654de1a77f8360ff\"}},{\"@type\":\"WebSite\",\"@id\":\"https://wiki.lumiweb.cc#website\",\"name\":\"Lumi\",\"url\":\"https://wiki.lumiweb.cc\",\"publisher\":{\"@id\":\"https://wiki.lumiweb.cc/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://wiki.lumiweb.cc/en/vps/backups#webpage\",\"url\":\"https://wiki.lumiweb.cc/en/vps/backups\",\"name\":\"Backups\",\"description\":\"Back up your own data\",\"dateModified\":\"2026-10-04T13:36:58.270Z\",\"isPartOf\":{\"@id\":\"https://wiki.lumiweb.cc#website\"},\"breadcrumb\":{\"@id\":\"https://wiki.lumiweb.cc/en/vps/backups#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://wiki.lumiweb.cc/en/vps/backups#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Setup\",\"item\":\"https://wiki.lumiweb.cc/en/vps/ssh-keys\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backups\",\"item\":\"https://wiki.lumiweb.cc/en/vps/backups\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://wiki.lumiweb.cc/en/vps/backups#article\",\"headline\":\"Backups\",\"name\":\"Backups\",\"description\":\"Back up your own data\",\"url\":\"https://wiki.lumiweb.cc/en/vps/backups\",\"mainEntityOfPage\":{\"@id\":\"https://wiki.lumiweb.cc/en/vps/backups#webpage\"},\"dateModified\":\"2026-10-04T13:36:58.270Z\",\"publisher\":{\"@id\":\"https://wiki.lumiweb.cc/#organization\"},\"isPartOf\":{\"@id\":\"https://wiki.lumiweb.cc#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lumi\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lumi","nav":{"global":null,"languages":[{"language":"ru","default":true,"pages":[{"title":"ru","href":"/vps/backups"}]},{"language":"en","tabs":[{"tab":"VPS","icon":"server","groups":[{"group":"Basics","icon":"server","pages":[{"title":"VPS plans","sidebarTitle":"Plans","icon":"gauge-high","href":"/en/vps"},{"title":"Server management","sidebarTitle":"Management","icon":"sliders","href":"/en/vps/manage"},{"title":"Locations and OS","sidebarTitle":"Locations and OS","icon":"earth-europe","href":"/en/vps/os"},{"title":"Connection","sidebarTitle":"Connection","icon":"terminal","href":"/en/vps/connect"}]},{"group":"Setup","icon":"screwdriver-wrench","pages":[{"title":"SSH keys","sidebarTitle":"SSH keys","icon":"key","href":"/en/vps/ssh-keys"},{"title":"Firewall (ufw)","sidebarTitle":"Firewall","description":"Open the ports you need, close off the rest","icon":"shield-halved","href":"/en/vps/firewall"},{"title":"Backups","sidebarTitle":"Backups","icon":"box-archive","href":"/en/vps/backups"},{"title":"Swap file","sidebarTitle":"Swap","description":"Disk-based swap for when RAM runs out","icon":"memory","href":"/en/vps/swap"},{"title":"Network configuration","sidebarTitle":"Network","icon":"network-wired","href":"/en/vps/network"},{"title":"Reverse DNS (PTR)","sidebarTitle":"Reverse DNS","icon":"arrows-rotate","href":"/en/vps/reverse-dns"},{"title":"Web server (Nginx)","sidebarTitle":"Web server","icon":"server","href":"/en/vps/webserver"},{"title":"SSL and Let's Encrypt","sidebarTitle":"SSL","icon":"lock","href":"/en/vps/ssl"}]},{"group":"Protection \u0026 issues","icon":"shield-halved","pages":[{"title":"Server hardening","sidebarTitle":"Hardening","icon":"lock","href":"/en/vps/hardening"},{"title":"VPS not working","sidebarTitle":"Not working","icon":"triangle-exclamation","href":"/en/vps/troubleshooting"}]},{"group":"Software \u0026 services","icon":"cubes","pages":[{"title":"WireGuard VPN","sidebarTitle":"WireGuard","icon":"shield-halved","href":"/en/vps/wireguard"},{"title":"OpenVPN","sidebarTitle":"OpenVPN","icon":"lock","href":"/en/vps/openvpn"},{"title":"Amnezia (no terminal)","sidebarTitle":"Amnezia","icon":"user-shield","href":"/en/vps/amnezia"},{"title":"3X-UI (Xray/VLESS)","sidebarTitle":"3X-UI","icon":"gauge-high","href":"/en/vps/3x-ui"},{"title":"Marzban","sidebarTitle":"Marzban","icon":"layer-group","href":"/en/vps/marzban"},{"title":"Your own proxy (3proxy)","sidebarTitle":"Your own proxy","icon":"network-wired","href":"/en/vps/proxy-3proxy"},{"title":"Docker","sidebarTitle":"Docker","icon":"box","href":"/en/vps/docker"},{"title":"n8n (automation)","sidebarTitle":"n8n","icon":"diagram-project","href":"/en/vps/n8n"},{"title":"Keitaro (tracker)","sidebarTitle":"Keitaro","icon":"chart-line","href":"/en/vps/keitaro"},{"title":"Your own LLM (Ollama)","sidebarTitle":"Your own LLM","icon":"robot","href":"/en/vps/llm"},{"title":"MikroTik CHR","sidebarTitle":"MikroTik","icon":"route","href":"/en/vps/mikrotik"},{"title":"Coolify (your own PaaS)","sidebarTitle":"Coolify","icon":"rocket","href":"/en/vps/panel"}]}]}]}]},"title":"Backups - Lumi","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}