gpt4 book ai didi

Linux 备份 Bash

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:00 28 4
gpt4 key购买 nike

我正在尝试创建一个将整个/dev/sda1 备份到/mnt/Backup 的 bash 脚本

/dev/sda1       457G  3.5G  431G   1% /
/dev/sdb1 2.8T 3.0G 2.8T 1% /mnt/Backup

有的脚本是:

START=$(date +%D)
FOLDER_NAME=`echo $START | tr -s '/' | tr '/' '_'`
SOURCE_PATH='/media /bin /boot /cdrom /dev /etc /home /lib /opt /proc /root /run /sbin /selinux /srv /sys /tmp /usr /var'
SOURCE_PATH='/'
FOLDER_PATH='/mnt/Backup'
BACKUP_PATH=$FOLDER_PATH/Bkp_$FOLDER_NAME
mkdir -p '$BACKUP_PATH'
cp -r $SOURCE_PATH $BACKUP_PATH

正如您在上面的源路径中看到的那样,我尝试命名我想要备份的所有文件夹,但是当我使用该路径运行时,出现错误:这不是目录

然后我尝试了下面的源路径“/”并开始复制,但卡在了

cp: reading `/proc/sysrq-trigger': Input/output error
cp: failed to extend `/mnt/Backup/Bkp_09_14_13/proc/sysrq-trigger': Input/output error

问题是如何更改我的脚本以成功地将 sda1 备份到 sdb1

预先感谢您的帮助

最佳答案

如果 /dev/sda1 被挂载为您的根文件系统,对其进行递归复制也会将挂载的文件系统包含在其目录下。您可以将其再次挂载到另一个目录,例如/mnt/system 然后从中进行递归复制。我建议使用 cp -a 而不仅仅是 -r

关于Linux 备份 Bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18806038/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com