gpt4 book ai didi

linux - 制作 Centos 备份的 Shell 脚本

转载 作者:太空狗 更新时间:2023-10-29 11:13:19 25 4
gpt4 key购买 nike

我在教程中读到我可以使用以下命令对我的 CENTOS 系统进行完整备份:

tar cvpzf /backups/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backups --exclude=/dev --exclude=/sys --exclude=/boot/grub --exclude=/etc/fstab --exclude=/etc/sysconfig/network-scripts/ --exclude=/etc/udev/rules.d/70-persistent-net.rules /

这在命令行中非常适合我。我已经测试过了,恢复很顺利。我希望每晚都能自动执行此操作,但是当我尝试在 bash 脚本中执行此操作时,它会给我一些错误消息。我知道如何创建 cron 作业来执行 shell 脚本,但是这段代码无法进行备份:

#!/bin/bash
#Generic Server Backup With tar
SERVER=`uname -n`
echo "Starting backup for $SERVER..."
tar cvpzf /home/backups/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backups --exclude=/dev --exclude=/sys --exclude=/boot/grub --exclude=/etc/fstab --exclude=/etc/sysconfig/network-scripts/ --exclude=/etc/udev/rules.d/70-persistent-net.rules /
echo "Done."

有人知道我做错了什么或我该如何解决吗?

错误信息:

  sh bu.sh
...rting backup for juice.myserver.com
tar: Removing leading `/' from member names
tar: /\r: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
Done.

最佳答案

这似乎与 tar 命令末尾的 CR(回车)有关。

在排除之后有一个单独的斜杠 (/),这显然是要备份的路径。问题是 tar 认为它是/\r 而它显然不存在。

建议尝试使用一些实用程序,如 dos2unix或者使用这样的命令 tr -d '\r' < bu.sh > newbu.sh将其删除。

之后,它应该可以正常工作了。

关于linux - 制作 Centos 备份的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31416037/

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