2022-12-01 13:25:10 +01:00
//Lib
import React from 'react' ;
import classes from '../WizardStep1/WizardStep1.module.css' ;
import { IconChecks , IconPlayerPlay } from '@tabler/icons' ;
import CopyButton from '../../UI/CopyButton/CopyButton' ;
function WizardStep3 ( props ) {
return (
< div className = { classes . container } >
< h1 >
< IconPlayerPlay className = { classes . icon } / >
Launch a backup
< / h 1 >
< div className = { classes . description } >
To launch a backup with borgbackup :
< div
style = { {
display : 'flex' ,
flexDirection : 'row' ,
justifyContent : 'flex-start' ,
} }
>
< div className = { classes . code } >
borg create ssh : //
{ props . selectedOption . unixUser } @
{ process . env . NEXT _PUBLIC _HOSTNAME } :
{ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } / . /
{ props . selectedOption . repository }
: : archive1 / your / pathToBackup
< / d i v >
< CopyButton
dataToCopy = { ` borg create ssh:// ${ props . selectedOption . unixUser } @ ${ process . env . NEXT _PUBLIC _HOSTNAME } : ${ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } /./ ${ props . selectedOption . repository } ::archive1 /your/pathToBackup ` }
/ >
< / d i v >
< / d i v >
< div className = { classes . separator } > < / d i v >
< h1 >
< IconChecks className = { classes . icon } / >
Check your backup { ' ' }
< span style = { { color : '#494b7a4d' , fontWeight : 'normal' } } >
& nbsp ; ( always )
< / s p a n >
< / h 1 >
< div className = { classes . description } >
BorgWarehouse < b > only stores < / b > y o u r b a c k u p s . T h e y a r e
encrypted and < b > there is no way < / b > f o r B o r g W a r e h o u s e t o k n o w
if the backup is intact .
< br / >
You should regularly test your backups and check that the data
is recoverable . { ' ' }
< b >
BorgWarehouse cannot do this for you and does not guarantee
anything .
< / b >
< br / >
< / d i v >
< span className = { classes . description } >
Based on the Borg documentation , you have multiple ways to check
that your backups are correct with your tools ( tar , rsync , diff
or other tools ) .
< br / >
< li > Check the integrity of a repository with : < / l i >
< div
style = { {
display : 'flex' ,
flexDirection : 'row' ,
justifyContent : 'flex-start' ,
} }
>
< div className = { classes . code } >
borg check - v -- progress ssh : //
{ props . selectedOption . unixUser } @
{ process . env . NEXT _PUBLIC _HOSTNAME } :
{ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } / . /
{ props . selectedOption . repository }
< / d i v >
< CopyButton
dataToCopy = { ` borg check -v --progress ssh:// ${ props . selectedOption . unixUser } @ ${ process . env . NEXT _PUBLIC _HOSTNAME } : ${ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } /./ ${ props . selectedOption . repository } ` }
/ >
< / d i v >
< li > List the remote archives with : < / l i >
< div
style = { {
display : 'flex' ,
flexDirection : 'row' ,
justifyContent : 'flex-start' ,
} }
>
< div className = { classes . code } >
borg list ssh : //
{ props . selectedOption . unixUser } @
{ process . env . NEXT _PUBLIC _HOSTNAME } :
{ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } / . /
{ props . selectedOption . repository }
< / d i v >
< CopyButton
dataToCopy = { ` borg list ssh:// ${ props . selectedOption . unixUser } @ ${ process . env . NEXT _PUBLIC _HOSTNAME } : ${ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } /./ ${ props . selectedOption . repository } ` }
/ >
< / d i v >
< li > Download a remote archive with the following command : < / l i >
< div
style = { {
display : 'flex' ,
flexDirection : 'row' ,
justifyContent : 'flex-start' ,
} }
>
< div className = { classes . code } >
borg export - tar -- tar - filter = "gzip -9" ssh : //
{ props . selectedOption . unixUser } @
{ process . env . NEXT _PUBLIC _HOSTNAME } :
{ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } / . /
{ props . selectedOption . repository }
: : archive1 archive1 . tar . gz
< / d i v >
< CopyButton
dataToCopy = { ` borg export-tar --tar-filter="gzip -9" ssh:// ${ props . selectedOption . unixUser } @ ${ process . env . NEXT _PUBLIC _HOSTNAME } : ${ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } /./ ${ props . selectedOption . repository } ::archive1 archive1.tar.gz ` }
/ >
< / d i v >
< li >
Mount an archive to compare or backup some files without
download all the archive :
< / l i >
< div
style = { {
display : 'flex' ,
flexDirection : 'row' ,
justifyContent : 'flex-start' ,
} }
>
< div className = { classes . code } >
borg mount ssh : //
{ props . selectedOption . unixUser } @
{ process . env . NEXT _PUBLIC _HOSTNAME } :
{ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } / . /
{ props . selectedOption . repository }
: : archive1 / tmp / yourMountPoint
< / d i v >
< CopyButton
dataToCopy = { ` borg mount ssh:// ${ props . selectedOption . unixUser } @ ${ process . env . NEXT _PUBLIC _HOSTNAME } : ${ process . env . NEXT _PUBLIC _SSH _SERVER _PORT } /./ ${ props . selectedOption . repository } ::archive1 /tmp/yourMountPoint ` }
/ >
< / d i v >
< br / >
To verify the consistency of a repository and the corresponding
archives , please refer to { ' ' }
< a
href = 'https://borgbackup.readthedocs.io/en/stable/usage/check.html'
2023-03-20 12:11:14 +01:00
rel = 'noreferrer'
2022-12-01 13:25:10 +01:00
target = '_blank'
>
this documentation
< / a >
< / s p a n >
< div className = { classes . separator } > < / d i v >
< h2 > Borgmatic < / h 2 >
< div className = { classes . description } >
If you are using Borgmatic , please refer to { ' ' }
< a
href = 'https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/#consistency-check-configuration'
2023-03-20 12:11:14 +01:00
rel = 'noreferrer'
2022-12-01 13:25:10 +01:00
target = '_blank'
>
this documentation
< / a > { ' ' }
for a consistency check .
< / d i v >
< h2 > Vorta < / h 2 >
< div className = { classes . description } >
If you are using the Vorta graphical client , please refer to { ' ' }
< a
href = 'https://vorta.borgbase.com/usage/'
2023-03-20 12:11:14 +01:00
rel = 'noreferrer'
2022-12-01 13:25:10 +01:00
target = '_blank'
>
this documentation
< / a >
.
< / d i v >
< / d i v >
) ;
}
export default WizardStep3 ;