Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Best practices for backup: strage and storage media #131

Merged
merged 33 commits into from
Jan 31, 2021
Merged
Changes from 18 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
d392dc1
Best practices for backup: strage and storage media
core-man Jan 30, 2021
c49981c
Updat
core-man Jan 30, 2021
59a58fe
Update
core-man Jan 30, 2021
4e0f538
Add metadata
core-man Jan 30, 2021
fa97516
Merge branch 'main' into backup
core-man Jan 30, 2021
7cf5c5b
Merge branch 'main' into backup
core-man Jan 31, 2021
544045b
Merge branch 'main' into backup
core-man Jan 31, 2021
a9e312f
Update source/best-practices/backup.rst
core-man Jan 31, 2021
0fa213f
Merge branch 'main' into backup
core-man Jan 31, 2021
cde691d
Update online disk
core-man Jan 31, 2021
b345fe6
Add a warning
core-man Jan 31, 2021
d23dcc5
Update backup strage
core-man Jan 31, 2021
e228dd1
Update
core-man Jan 31, 2021
65ae38e
Merge branch 'main' into backup
core-man Jan 31, 2021
65f6c01
Add nutstore for macOS
core-man Jan 31, 2021
a18e91d
Fix
core-man Jan 31, 2021
4df1e60
Fix
core-man Jan 31, 2021
0953702
Merge branch 'main' into backup
seisman Jan 31, 2021
8fddc3b
Remove netdisk
core-man Jan 31, 2021
3c27bc9
Update
core-man Jan 31, 2021
1ecf91a
Merge branch 'main' into backup
core-man Jan 31, 2021
5ace098
Update
core-man Jan 31, 2021
b87c3ca
Update source/best-practices/backup.rst
core-man Jan 31, 2021
b62d8af
Fix
core-man Jan 31, 2021
da5f6d1
Update
core-man Jan 31, 2021
3be0ecb
Merge branch 'backup' of github.com:seismo-learn/seismology101 into b…
core-man Jan 31, 2021
1d414fe
Fix
core-man Jan 31, 2021
9b4191d
Update
core-man Jan 31, 2021
793380e
Update
core-man Jan 31, 2021
a30ee18
Apply suggestions from code review
core-man Jan 31, 2021
646fe8a
Update
core-man Jan 31, 2021
e1bb9e0
Fix
core-man Jan 31, 2021
657173b
Fix
core-man Jan 31, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 109 additions & 12 deletions source/best-practices/backup.rst
Original file line number Diff line number Diff line change
@@ -1,61 +1,158 @@
备份与还原
==========

:本节贡献者: |田冬冬|\(作者)、
seisman marked this conversation as resolved.
Show resolved Hide resolved
|姚家园|\(作者)
:最近更新日期: 2021-01-30
:预计阅读时间: 20 分钟

.. warning::

本章正在编写中,尚未完成。

----

**备份!备份!备份!**

尽管不经常发生,但电脑随时可能会坏掉或被盗,电脑硬盘也随时可能会出问题,
也可能不小心使用一个命令把几个月的工作误删了。所以,备份非常重要,不进行必要的备份
是十分危险的。
也可能不小心使用一个命令(如 ``rm *``)把几个月的工作误删了。所以,备份非常重要,不进行必要的备份
core-man marked this conversation as resolved.
Show resolved Hide resolved
是十分危险的。笔者和一些同行多次体验过数据误删或硬盘损坏又未备份带来的痛苦。
seisman marked this conversation as resolved.
Show resolved Hide resolved

.. warning::

备份的目的
日常科研工作中,电脑硬盘经常进行大量的读写操作,直接影响硬盘的寿命。一般而言,电脑硬盘的平均
core-man marked this conversation as resolved.
Show resolved Hide resolved
寿命大约 5 年左右。当然,硬盘的品质和使用情况不同,其寿命也有所不同。
core-man marked this conversation as resolved.
Show resolved Hide resolved

备份的策略
----------

备份的策略简单概括有三种:

- 仅备份重要文件
- 仅备份家目录
- 全盘备份

不同备份策略的主要区别是所需的硬盘空间和备份时间,以及硬盘摔坏带来的损失。

.. table:: 不同备份策略的比较
:align: center

================ ====================================================== ===============
备份的策略 优点 缺点
================ ====================================================== ===============
仅备份重要文件 所需硬盘空间较小、所需备份时间较短 仅重要文件备份了,若硬盘摔坏,其他文件需要重新获取
仅备份家目录 科研和日常文件基本在家目录下,硬盘摔坏带来的损失很小 所需硬盘空间较大、所需备份时间较长
全盘备份 硬盘摔坏带来的损失几乎为零 所需硬盘空间最大、所需备份时间最长
================ ====================================================== ===============
seisman marked this conversation as resolved.
Show resolved Hide resolved

建议用户根据个人需求和存储空间来决定具体的备份策略。如果\ **文件非常重要**\ ,
丢失后\ **恢复难度极大**\ 或\ **恢复时间极长**\ ,强烈推荐备份一下,如毕业论文、脚本、代码、
无法再次获取的数据、经过长时间处理得到的资料。如果拥有更多硬盘存储空间且备份时间能够接受,
可以进一步选择备份家目录,甚至全盘备份。
seisman marked this conversation as resolved.
Show resolved Hide resolved

备份的介质
----------

- 硬盘备份
- 网盘备份
我们需要一定的存储空间来备份电脑里的文件,常用的备份介质有\ **移动硬盘**\ 和\ **网盘**\ 。

移动硬盘是最常见的备份介质,其特点是携带方便、价格便宜。近几年,移动硬盘发展迅速,市场上
常见的存储空间大小有 4TB 和 5TB,基本可以满足日常科研的备份需求。

现在网盘越来越流行,如\ `坚果云 <https://www.jianguoyun.com>`__\ 、\ `百度网盘 <https://pan.baidu.com>`__\ 。
网盘本质上是云端的硬盘,通过网络连接使用。大多数网盘都有客户端,本地客户端里的文件跟云端实时同步,
用户基本不要做额外操作。因此,网盘的主要用途便是备份文件以及在不同设备之间(不同系统的电脑以及手机)同步文件。
例如,可以把一份文件传到网盘上,在不同操作系统的客户端下都可以操作文件,且文件一直保持同步。

.. table:: 近几年比较流行的网盘
:align: center

============================================================================================= ======================================================================================== ========================================= ==============
网盘名称 网盘空间 适用平台 国内是否可用
============================================================================================= ======================================================================================== ========================================= ==============
`坚果云 <https://www.jianguoyun.com>`__ 免费空间受限于上传流量,每月上传流量 1 GB,下载流量 3 GB;专业版有 42 GB(200 元/年) Linux、macOS、Windows、Android、iPhone 是
`百度网盘 <https://pan.baidu.com>`__ 免费空间 2 TB Linux、macOS、Windows、Android、iPhone 是
`Dropbox <https://www.dropbox.com/>`__ 免费空间 2 GB;Plus 版有 1 TB(120 美金/年) Linux、macOS、Windows、Android、iPhone 否
`OneDrive <https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage>`__ 免费空间 5 GB;单购 100 GB(15 元/年);Microsoft 365 有 1 TB(398 元/年) macOS、Windows、Android、iPhone 网页版不可以、客户端可以
`Google Drive <https://www.google.com/drive/>`__ 免费空间 15 GB(Google 云端网盘、相册、邮箱共用);单购 100 GB(2 美金/月) macOS、Windows、Android、iPhone 否
`MEGA <https://mega.io/>`__ 免费空间 50 GB;Pro Lite 有 400 GB(8 美金/月);Pro III 有 16 TB(48 美金/月) Linux、macOS、Windows、Android、iPhone 网页版不可以、客户端可以
============================================================================================= ======================================================================================== ========================================= ==============

用户可以根据自身需求(即是同步文件还是备份文件)和资金,选择适合的网盘。国内用户
推荐使用坚果云在不同设备之间进行文件传输和同步:

.. tabs::

.. code-tab:: bash Fedora

我们主要讨论硬盘备份。
# 下载 64 位 RPM 包
$ wget https://www.jianguoyun.com/static/exe/installer/fedora/nautilus_nutstore_amd64.rpm
# 安装坚果云
$ sudo dnf install nautilus_nutstore_amd64.rpm

.. code-tab:: bash CentOS

# 下载 64 位 RPM 包
$ wget https://www.jianguoyun.com/static/exe/installer/fedora/nautilus_nutstore_amd64.rpm
# 安装坚果云
$ sudo yum install nautilus_nutstore_amd64.rpm

.. code-tab:: bash Ubuntu/Debian

# 下载 64 位 deb 包
$ wget https://www.jianguoyun.com/static/exe/installer/ubuntu/nautilus_nutstore_amd64.deb
# 安装坚果云
$ sudo apt install ./nautilus_nutstore_amd64.deb

.. code-tab:: bash macOS

$ brew install --cask nutstore

本文主要总结如何使用移动硬盘来备份文件。

Linux
------

core-man marked this conversation as resolved.
Show resolved Hide resolved
rysnc
^^^^^^

至少每周将工作电脑中的文件备份到移动硬盘中。推荐使用 rsync 进行备份,其用法为::
至少每周将工作电脑中的文件备份到移动硬盘中。推荐使用 ``rsync`` 命令进行备份,其用法为::

rsync --delete -av /home/seisman/ /data1/seisman/
$ rsync --delete -av /home/seismo-learn/ /data1/seismo-learn/

该命令作用是将 /home/seisman/ 目录完整同步到 /data1/seisman/ 目录下。
该命令作用是将 /home/seismo-learn/ 目录完整同步到 /data1/seismo-learn/ 目录下。
core-man marked this conversation as resolved.
Show resolved Hide resolved

rsync 的特色在于增量备份。这意味着只有第一次备份的时候需要花比较多的时间,
以后再使用该命令进行备份时只会同步改动。加入你一周只修改了一个文件,那么同步的过程会在瞬间完成。
``rsync`` 的特色在于增量备份。这意味着只有第一次备份的时候需要花比较多的时间,
以后再使用该命令进行备份时只会同步改动过的文件。假如你一周只修改了一个文件,那么同步的过程会在瞬间完成。

DejaDup
^^^^^^^


btrfs
^^^^^


macOS
-----

macOS 下最好用的备份工具当属 Time Machine。
macOS 下最好用的备份工具当属 Time Machine,当然也可以使用 ``rsync`` 命令进行备份

Time Machine
^^^^^^^^^^^^^


rysnc
^^^^^^



Windows
-------

robocopy
^^^^^^^^


Backup
^^^^^^