|
|
Line 1: |
Line 1: |
− | =btrfs-restore(8) manual page=
| |
| {{GeneratedManpage | | {{GeneratedManpage |
| |name=btrfs-restore}} | | |name=btrfs-restore}} |
− |
| |
− | ==NAME==
| |
− | btrfs-restore - try to restore files from a damaged btrfs filesystem image
| |
− |
| |
− | ==SYNOPSIS==
| |
− |
| |
− | <p><b>btrfs restore</b> [options] <em><device></em> <em><path></em> | -l <em><device></em></p>
| |
− | ==DESCRIPTION==
| |
− |
| |
− | <p><b>btrfs restore</b> is used to try to salvage files from a damaged filesystem and
| |
− | restore them into <em><path></em> or just list the subvolume tree roots. The filesystem
| |
− | image is not modified.</p>
| |
− | <p>If the filesystem is damaged and cannot be repaired by the other tools
| |
− | ([[Manpage/btrfs-check|btrfs-check(8)]] or [[Manpage/btrfs-rescue|btrfs-rescue(8)]]), <b>btrfs restore</b> could be used to
| |
− | retrieve file data, as far as the metadata are readable. The checks done by
| |
− | restore are less strict and the process is usually able to get far enough to
| |
− | retrieve data from the whole filesystem. This comes at a cost that some data
| |
− | might be incomplete or from older versions if they’re available.</p>
| |
− | <p>There are several options to attempt restoration of various file metadata type.
| |
− | You can try a dry run first to see how well the process goes and use further
| |
− | options to extend the set of restored metadata.</p>
| |
− | <p>For images with damaged tree structures, there are several options to point the
| |
− | process to some spare copy.</p>
| |
− | <blockquote><b>Note:</b>
| |
− | It is recommended to read the following btrfs wiki page if your data is
| |
− | not salvaged with default option:<br/>
| |
− | https://btrfs.wiki.kernel.org/index.php/Restore</blockquote>
| |
− | ==OPTIONS==
| |
− |
| |
− | <dl>
| |
− | <dt>
| |
− | -s|--snapshots
| |
− | <dd>
| |
− | <p>
| |
− | get also snapshots that are skipped by default
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -x|--xattr
| |
− | <dd>
| |
− | <p>
| |
− | get extended attributes
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -m|--metadata
| |
− | <dd>
| |
− | <p>
| |
− | restore owner, mode and times for files and directories
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -S|--symlinks
| |
− | <dd>
| |
− | <p>
| |
− | restore symbolic links as well as normal files
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -i|--ignore-errors
| |
− | <dd>
| |
− | <p>
| |
− | ignore errors during restoration and continue
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -o|--overwrite
| |
− | <dd>
| |
− | <p>
| |
− | overwrite directories/files in <em><path></em>, eg. for repeated runs
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -t <em><bytenr></em>
| |
− | <dd>
| |
− | <p>
| |
− | use <em><bytenr></em> to read the root tree
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -f <em><bytenr></em>
| |
− | <dd>
| |
− | <p>
| |
− | only restore files that are under specified subvolume root pointed by <em><bytenr></em>
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -u|--super <em><mirror></em>
| |
− | <dd>
| |
− | <p>
| |
− | use given superblock mirror identified by <em><mirror></em>, it can be 0,1 or 2
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -r|--root <em><rootid></em>
| |
− | <dd>
| |
− | <p>
| |
− | only restore files that are under a specified subvolume whose objectid is <em><rootid></em>
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -d
| |
− | <dd>
| |
− | <p>
| |
− | find directory
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -l|--list-roots
| |
− | <dd>
| |
− | <p>
| |
− | list subvolume tree roots, can be used as argument for <em>-r</em>
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -D|--dry-run
| |
− | <dd>
| |
− | <p>
| |
− | dry run (only list files that would be recovered)
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | --path-regex <em><regex></em>
| |
− | <dd>
| |
− | <p>
| |
− | restore only filenames matching a regular expression ([http://man7.org/linux/man-pages/man7/regex.7.html regex(7)]) with a
| |
− | mandatory format
| |
− | </p>
| |
− | <p><tt>^/(|home(|/username(|/Desktop(|/.*))))$</tt></p>
| |
− | <p>The format is not very comfortable and restores all files in the directories
| |
− | in the whole path, so this is not useful for restoring single file in a deep
| |
− | hierarchy.</p>
| |
− |
| |
− | <dt>
| |
− | -c
| |
− | <dd>
| |
− | <p>
| |
− | ignore case (--path-regex only)
| |
− | </p>
| |
− |
| |
− | <dt>
| |
− | -v|--verbose
| |
− | <dd>
| |
− | <p>
| |
− | (deprecated) alias for global <em>-v</em> option
| |
− | </p>
| |
− |
| |
− | </dl>
| |
− | <p><tt>Global options</tt></p>
| |
− | <dl>
| |
− | <dt>
| |
− | -v|--verbose
| |
− | <dd>
| |
− | <p>
| |
− | be verbose and print what is being restored
| |
− | </p>
| |
− |
| |
− | </dl>
| |
− | ==EXIT STATUS==
| |
− |
| |
− | <p><b>btrfs restore</b> returns a zero exit status if it succeeds. Non zero is
| |
− | returned in case of failure.</p>
| |
− | ==AVAILABILITY==
| |
− |
| |
− | <p><b>btrfs</b> is part of btrfs-progs.
| |
− | Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
| |
− | further details.</p>
| |
− | ==SEE ALSO==
| |
− |
| |
− | <p>[[Manpage/mkfs.btrfs|mkfs.btrfs(8)]],
| |
− | [[Manpage/btrfs-rescue|btrfs-rescue(8)]],
| |
− | [[Manpage/btrfs-check|btrfs-check(8)]]</p>
| |
− | [[Category:Manpage]]
| |