如何将数据从 ubuntu 机器安全地传输到外部硬盘驱动器?

How to securely transfer data to a external hard drive from an ubuntu machine?

我想将巨大的数据(每个文件大约 15GB,总共大约 2TB)传输到一个新的硬盘而不丢失(损坏)数据。如何传输和验证数据是否完全复制到硬盘? 我试过:

rsync -avP /data/fastq/001q1.fastq.gz 001q1.fastq.gz

循环为:

for i in *.fastq.gz; do
rsync -avP $i /data/external_hdd/$i;
done

但是如何验证数据是否被完整复制?

rsync 已经对数据完整性进行了内部检查,您只需要它“告诉”您它已完成,例如通过添加 && echo transfer complete

如果未显示该消息,则可能是传输失败,传输未完成。 如果您想在失败时显示一条消息,也可以使用 || echo transfer failed

如果两者都需要,最简洁的方法是使用 if 结构:

if rsync -avP /data/fastq/ /data/external_hdd/; then
  echo transfer complete
else
  echo transfer failed
fi

你应该把 "" 放在 echo

if rsync -avP /data/fastq/ /data/external_hdd/; then
  echo "transfer complete"
else
  echo "transfer failed"
fi