AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[backup](server)

Martin Hope
QGuy
Asked: 2024-07-25 20:49:21 +0800 CST

为什么我的 pg_basebackup 与 Postgres 不兼容?

  • 5

我有一个备份 shell 脚本,它每晚都会运行 pg_basebackup。但是当我尝试运行它时,我收到此错误消息,指出 pg_basebackup 显然与 Postgres.app 版本 16.3 不兼容。

2024-07-25 14:38:37 - Backup script started.
2024-07-25 14:38:37 - PG_USER: postgres
2024-07-25 14:38:37 - BACKUP_DIR: /Volumes/Atoma/Backup
2024-07-25 14:38:37 - TEMP_BACKUP_DIR: /Volumes/Atoma/tmp_backup
2024-07-25 14:38:37 - DAY_OF_WEEK: Donnerstag
2024-07-25 14:38:37 - BACKUP_NAME: Donnerstag.tar.gz
2024-07-25 14:38:37 - LOG_FILE: /Users/tristan/Server_Backup/daily.log
2024-07-25 14:38:37 - Starting backup for Donnerstag.
2024-07-25 14:38:37 - Running pg_basebackup command.
pg_basebackup: error: incompatible server version 16.3 (Postgres.app)
pg_basebackup: removing contents of data directory "/Volumes/Atoma/tmp_backup"
2024-07-25 14:38:38 - Backup failed for Donnerstag.
2024-07-25 14:38:38 - Backup script finished.

我使用 macOS Sonoma 14.5 (23F79)。这是我的备份脚本:

#!/bin/zsh


# Variables
PG_USER="xyz"
PG_USER_PW="xyz"
PORT="5432"
HOST="localhost"

BACKUP_DIR="/Volumes/Atoma/Backup"
TEMP_BACKUP_DIR="/Volumes/Atoma/tmp_backup"
DAY_OF_WEEK=$(date +%A)
BACKUP_NAME="$DAY_OF_WEEK.tar.gz"
LOG_FILE="/Users/tristan/Server_Backup/daily.log"

# create temporary directory (needed for pg_basebackup)
mkdir -p $TEMP_BACKUP_DIR

# log with timestamp
log_with_timestamp() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> $LOG_FILE
}

# Start logging
log_with_timestamp "Backup script started."

# Logging variables
log_with_timestamp "PG_USER: $PG_USER"
log_with_timestamp "BACKUP_DIR: $BACKUP_DIR"
log_with_timestamp "TEMP_BACKUP_DIR: $TEMP_BACKUP_DIR"
log_with_timestamp "DAY_OF_WEEK: $DAY_OF_WEEK"
log_with_timestamp "BACKUP_NAME: $BACKUP_NAME"
log_with_timestamp "LOG_FILE: $LOG_FILE"

# Start backup log process
log_with_timestamp "Starting backup for $DAY_OF_WEEK."

# Set the PGPASSWORD environment variable
export PGPASSWORD=$PG_USER_PW

# Run pg_basebackup
log_with_timestamp "Running pg_basebackup command."
if pg_basebackup -h $HOST -p $PORT -U $PG_USER -D $TEMP_BACKUP_DIR -Ft -z -P -Xs 2>> $LOG_FILE; then
    # Compress the backup and move it to the final destination
    mv $TEMP_BACKUP_DIR/$BACKUP_NAME $BACKUP_DIR
    log_with_timestamp "Backup completed successfully for $DAY_OF_WEEK."
else
    log_with_timestamp "Backup failed for $DAY_OF_WEEK."
fi

# Clean up temporary backup directory
rm -rf $TEMP_BACKUP_DIR

# Unset the PGPASSWORD environment variable for security
unset PGPASSWORD

# End of script
log_with_timestamp "Backup script finished."
backup
  • 1 个回答
  • 50 Views
Martin Hope
hyhno01
Asked: 2024-07-08 21:06:24 +0800 CST

Ubuntu:使用 anacron 和 rsync 每月备份到外部驱动器

  • 5

我的目标是每月将我的 ubuntu/home/目录备份到外部驱动器,将其连接到计算机后,我就可以在 中看到它/media/ironman/Elements。为此,我使用rsync。

外部驱动器并不总是挂载的,所以我制作了一个交互式脚本,当驱动器没有挂载时,它会提示我挂载驱动器。我想安排这个脚本,anacron因为我的笔记本电脑经常关机。我认为我的设置不起作用是因为交互式部分:当我从命令行运行脚本时,我自然可以在同一命令行中看到它的输出。但是,anacron 不是从命令行运行的。

这是脚本/home/ironman/scripts/backup_anacron.sh

#!/bin/bash

# Variables
SOURCE_DIR="/home/ironman"
TARGET_DIR="/media/ironman/Elements/backup_$(date +%Y%m%d)"
EXCLUDES="--exclude=\"lost+found\" --exclude=\".cache\""
RSYNC_CMD="rsync -a --info=progress2 $EXCLUDES $SOURCE_DIR/ $TARGET_DIR"


# Function to check if the drive is mounted
check_mount() {
    if grep -qs "/media/ironman/Elements " /proc/mounts; then
        echo "Backup drive is mounted."
        return 0
    else
        return 1
    fi
}

# Check whether backup drive has enough free space
check_space() {
    # Get available space on target drive in kilobytes
    available_space=$(df --output=avail "/media/ironman/Elements" | tail -1)
    # Get required space for the source directory in kilobytes
    required_space=$(du -sk "$SOURCE_DIR" | cut -f1)
    
    if [ "$available_space" -ge "$required_space" ]; then
        echo "Enough space on backup drive. Required: $required_space KB, Available: $available_space KB."
        return 0
    else
        echo "Not enough space on backup drive. Required: $required_space KB, Available: $available_space KB. Manual backup necessary"
        echo $RSYNC_CMD
        exit 1
    fi
}

# Initial check
check_mount
if [ $? -eq 1 ]; then

    # If the drive is not mounted, prompt the user
    echo "Please mount drive within one minute."

    # Wait for up to 60 seconds for the drive to be mounted
    for i in {1..60}; do
    
        # check every second if drive is mounted
        sleep 1
        check_mount
        if [ $? -eq 0 ]; then
        
            # if enough space available, execute rsync, else print error message
        check_space
        if [ $? -eq 0 ]; then
                eval $RSYNC_CMD
                exit 0 
            fi
        fi
    done
fi


# If the drive is still not mounted after 60 seconds, print an error message
if [ $? -eq 1 ]; then
    echo "Backup drive is not mounted. Could not backup /home/ironman/. Command for manual backup:"
    echo $RSYNC_CMD
    exit 1
fi

# if enough space available, execute rsync, else exit script
check_space
if [ $? -eq 0 ]; then
    eval $RSYNC_CMD
    exit 0
fi

我在末尾添加了以下行/etc/anacrontab:

@monthly 15 backup.monthly nice /home/ironman/scripts/backup_anacron.sh

当我强制运行每月任务时/usr/sbin/anacron -n -f cron.monthly,什么也没发生。我做错了什么?

backup
  • 3 个回答
  • 29 Views
Martin Hope
Antonello
Asked: 2024-02-12 17:38:11 +0800 CST

使用 rsync 和硬链接的 bkps 中的总空间:du 和 Synology Web 界面之间谁是正确的?

  • 5

我/mnt/bkps使用此基于 rsync 和硬链接的脚本对作为 NFS 安装的 Synology NAS (fs: btrfs) 上的服务器根分区进行 bkp,以获得每日 bkps。

如果我检查服务器上使用的空间,du似乎一切正常,每个每日备份文件夹为 28 GB,但总大小仅为 29 GB:

root@ncy-beta-compserver:/mnt/bkps/root_bkps# du -hs bkps-root.2024-2-12
28G bkps-root.2024-2-12
root@ncy-beta-compserver:/mnt/bkps/root_bkps# du -hs bkps-root.2024-2-11
28G bkps-root.2024-2-11
root@ncy-beta-compserver:/mnt/bkps/root_bkps# cd ..
root@ncy-beta-compserver:/mnt/bkps# du -hs root_bkps/
29G root_bkps/

但是,如果我进入 Synology NAS 网页界面 -> File station 并为文件夹选择“属性”,则我会获得每个每日 bkp 文件夹 28 GB,但 bkp 文件夹总数为 55 GB!

谁是对的?

backup
  • 1 个回答
  • 24 Views
Martin Hope
JustJoe
Asked: 2023-08-01 17:22:03 +0800 CST

如何配置 LSI MegaRAID 控制器以托管允许热插拔的非 RAID 备份磁盘

  • 9

我正在运行一台带有 LSI MegaRAID 控制器的服务器,该控制器的背板上有 4 个插槽,可容纳 4 个 SATA HDD。其中两个插槽用于配置为 RAID1 的 HDD,用作服务器的“主存储”。

现在我计划使我的备份过程更加健壮。目前我使用 3 个便携式 USB SSD 驱动器,一次将一个连接到服务器,然后让备份软件将备份数据存储在 SSD 上。我定期翻转连接的 SSD,并将其他 SSD 存放在安全的地方。此设置大部分情况下运行良好,但 USB 连接有时会出现问题。

我现在的想法是再为服务器的 HDD 插槽添加两个托架,并将 SATA SSD 驱动器安装到其中。最后,我有 3 个球童,每个球童都有一个 SSD,应该作为备份介质。与之前的 USB 驱动器一样,我会将它们循环(一次一个)插入服务器(插槽 0),并使备份软件将其数据存储在当前插入的备份磁盘上。

这就是理论。如何配置LSI/MegaRAID控制器中的三个SATA备份硬盘?最重要的一点是,我不想每次拉出并翻转备份磁盘时都重新配置/修复设置。我的理想设置是,我可以将这 3 个磁盘中的任何一个插入背板的插槽 0,并且控制器以与 USB 磁盘相同的方式安装驱动器,我只需插入总线即可。

任何想法或建议都会很棒!

谢谢!

backup
  • 1 个回答
  • 54 Views
Martin Hope
ericx
Asked: 2023-06-03 02:32:40 +0800 CST

如何保存 systemd 启用状态

  • 5

我希望能够将已启用systemd单元的列表从一台机器复制到另一台机器。

systemd根据符号链接的存在(或缺乏)启用或禁用单元。在这个时候,我能想到的最好的工具是tree或者find?所以,理论上,我可以编写一些东西;但是不是已经有一个工具可以做到这一点吗?

在一个完美的世界中,它将扫描创建此类符号链接的所有各种目录(我知道 3: /etc/systemd /run/systemd ~/.config/systemd/user)并呈现一个可读文件,该文件可用于在另一台计算机上重播设置。也可用于备份。

backup
  • 2 个回答
  • 47 Views
Martin Hope
Snappawapa
Asked: 2023-05-27 07:27:42 +0800 CST

复制时 Mongodb 数据文件损坏

  • 5

我确信有一个简单的解决方案,我正在运行一个 Mongodb 服务:

[Unit]
Description=Mongo server for Open Quartermaster. Version ${version}, using MongoDB tagged to "4".
Documentation=https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/Infrastructure
After=docker.service
Wants=network-online.target docker.socket
Requires=docker.socket

[Service]
Type=simple
Restart=always
TimeoutSec=5m

#ExecStartPre=/bin/bash -c "/usr/bin/docker container inspect oqm_mongo 2> /dev/null || "
ExecStartPre=/bin/bash -c "/usr/bin/docker stop -t 10 oqm_infra_mongo || echo 'Could not stop mongo container'"
ExecStartPre=/bin/bash -c "/usr/bin/docker rm oqm_infra_mongo || echo 'Could not remove mongo container'"
ExecStartPre=/bin/bash -c "/usr/bin/docker pull mongo:4"

ExecStart=/bin/bash -c "/usr/bin/docker run \
                                 --name oqm_infra_mongo \
                                 -p=27017:27017 \
                                 -v /data/oqm/db/mongo/:/data/db  \
                                 mongo:4 mongod --replSet rs0"
ExecStartPost=/bin/bash -c "running=\"false\"; \
                            while [ \"$running\" != \"true\" ]; do \
                                sleep 1s; \
                                /usr/bin/docker exec oqm_infra_mongo mongo --eval \"\"; \
                                if [ \"$?\" = \"0\" ]; then \
                                    echo \"Mongo container running and available!\"; \
                                    running=\"true\"; \
                                fi \
                            done \
                            "
ExecStartPost=/bin/bash -c "/usr/bin/docker exec oqm_infra_mongo mongo --eval \"rs.initiate({'_id':'rs0', 'members':[{'_id':0,'host':'localhost:27017'}]})\" || echo 'Probably already initialized.'"

ExecStop=/bin/bash -c "/usr/bin/docker stop -t 10 oqm_infra_mongo || echo 'Could not stop mongo container'"
ExecStopPost=/bin/bash -c "/usr/bin/docker rm oqm_infra_mongo || echo 'Could not remove mongo container'"

[Install]
WantedBy=multi-user.target

我正在让 docker 映射主机的 /data/oqm/db/mongo/ 目录,看起来工作正常;从主机上看,我看到运行时填充的目录。此设置似乎在重新启动之间运行良好并且持续良好。

但是,当我尝试通过将此目录中的数据复制出来然后再复制回来来备份和恢复数据时,当尝试恢复服务时,Mongo barfs 声称数据已损坏。有任何想法吗?

需要明确的是,我的备份和恢复都是在服务停止时发生的,包括:

备份:

  1. 停止服务(使用 systemd)
  2. 复制出数据目录中的文件
  3. 启动服务备份(使用 systemd)

恢复:

  1. 停止服务(使用 systemd)
  2. 核对数据目录中的现有文件
  3. 复制回先前复制出的文件
  4. 启动服务(使用 systemd)(失败)

我正在尝试这种方法,因为它通常在文档中进行了描述:https://www.mongodb.com/docs/manual/core/backups/#back-up-with-cp-or-rsync

错误日志片段:


May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.275+00:00"},"s":"I",  "c":"STORAGE",  "id":22315,   "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=11224M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.686+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1685192819:686027][1:0x7fefd1197cc0], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 1 through 3"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.719+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1685192819:719823][1:0x7fefd1197cc0], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 2 through 3"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.749+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"initandlisten","msg":"WiredTiger message","attr":{"message":"[1685192819:749492][1:0x7fefd1197cc0], txn-recover: [WT_VERB_RECOVERY_PROGRESS] Recovering log 3 through 3"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.801+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31804,"message":"[1685192819:801911][1:0x7fefd1197cc0], txn-recover: __recovery_setup_file, 643: metadata corruption: files file:collection-0-6243490866083295563.wt and file:collection-0--9007965794334803376.wt have the same file ID 4: WT_PANIC: WiredTiger library panic"}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.801+00:00"},"s":"F",  "c":"-",        "id":23089,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":50853,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp","line":481}}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.802+00:00"},"s":"F",  "c":"-",        "id":23090,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}
May 27 09:06:59 oqm-dev bash[41304]: {"t":{"$date":"2023-05-27T13:06:59.802+00:00"},"s":"F",  "c":"CONTROL",  "id":4757800, "ctx":"initandlisten","msg":"Writing fatal message","attr":{"message":"Got signal: 6 (Aborted).\n"}}

更新:在有人提出建议后,我仔细检查了是否保留了权限,现在肯定会保留它们。不幸的是,仍然遇到同样的问题

backup
  • 1 个回答
  • 56 Views
Martin Hope
Tessaract
Asked: 2022-11-13 16:19:16 +0800 CST

Azure Backup 如何备份正在运行的 VM?

  • 8

我们正计划对我们的 VM 实施 Azure Backup 备份,但我正在努力寻找任何明确说明如何进行备份的文档?

我看到正在拍摄快照,但 Azure Backup 如何在不关闭 VM 的情况下备份它们?如果一台机器正在写入文件或更改设置,如果它没有被关闭,将如何/在什么时候进行备份?

backup
  • 3 个回答
  • 387 Views
Martin Hope
vpseg
Asked: 2022-04-09 09:04:38 +0800 CST

备份 ISC DHCPd 租用文件的正确方法是什么?

  • 1

根据this answer,DHCPd租约文件每小时清除一次。目标是连续备份租约文件,因此永远不会丢失租约。这很困难,因为不清楚小时计时器是基于系统时间(例如,文件在凌晨 1 点、凌晨 2 点、凌晨 3 点等重写)还是处理时间(service_start + 1h、service_start + 2h 等)。假设租约文件在凌晨 3 点清空,租约在 2:58:55 授予;备份租约文件的服务需要在清理文件之前快速运行。

DHCPd 进程将自己的文件备份到/var/lib/dhcpd/dhcpd.leases~. 最好的选择似乎是制作一个脚本,每小时将此文件备份到另一个位置。但是,如果重新启动 DHCPd 进程并且计时器相对于该进程,则备份任务上的小时标记可能会对齐,这可能会导致一个进程读取而另一个进程写入,这可能会破坏文件(取决于它是如何完成的)。因此,备份任务需要了解 DHCPd 何时启动。这变得越来越复杂。

备份 DHCPd 租约文件的“正确”方法是什么,因此不会丢失任何租约?

backup redhat isc-dhcp
  • 1 个回答
  • 59 Views
Martin Hope
Joel Divekar
Asked: 2022-02-06 23:44:29 +0800 CST

mariabackup 失败并出现错误:cannot mkdir 2: /data/backups/mariadb/

  • 0

尝试使用 mariabackup 备份我们所有的数据库。首先创建的备份目录为

mkdir -p /mnt/data/backup/mariadb
chown -R mysql:mysql /mnt/data/backup/mariadb

并继续做备份

# mariabackup --backup --target-dir=/mnt/data/backups/mariadb/ --user=root --password=xxxxxxxx
[00] 2022-02-06 11:28:46 Connecting to MySQL server host: localhost, user: root, password: set, port: not set, socket: /mnt/data/mysql/mysql.sock
[00] 2022-02-06 11:28:46 Using server version 10.3.28-MariaDB
mariabackup based on MariaDB server 10.3.28-MariaDB Linux (x86_64)
[00] 2022-02-06 11:28:46 uses posix_fadvise().
[00] 2022-02-06 11:28:46 cd to /mnt/data/mysql/
[00] 2022-02-06 11:28:46 open files limit requested 0, set to 1024
[00] 2022-02-06 11:28:46 mariabackup: using the following InnoDB configuration:
[00] 2022-02-06 11:28:46 innodb_data_home_dir = 
[00] 2022-02-06 11:28:46 innodb_data_file_path = ibdata1:12M:autoextend
[00] 2022-02-06 11:28:46 innodb_log_group_home_dir = ./
[00] 2022-02-06 11:28:46 InnoDB: Using Linux native AIO
2022-02-06 11:28:46 0 [Note] InnoDB: Number of pools: 1
[00] 2022-02-06 11:28:46 Error: cannot mkdir 2: /mnt/data/backups/mariadb/

尝试了护目镜和各种选项它没有工作所以最后尝试没有 --target-directory 选项并再次进行备份,它成功运行并得到了这个

# ls -ld /mnt/data/backup
drwxr-xr-x 3 mysql mysql 21 Feb  6 11:41 /mnt/data/backup

# pwd
/mnt/data/mysql

# ll
total 8
drwxr-xr-x  3 mysql mysql   21 Feb  6 11:41 backup
drwxr-xr-x 27 mysql mysql 4096 Feb  4 19:07 mysql
drwx------ 27 root  root  4096 Feb  6 11:22 xtrabackup_backupfiles

我做错了什么或如何使用 ----target-directory 运行它

backup mariadb rocky-linux
  • 2 个回答
  • 281 Views
Martin Hope
Greg Nelson
Asked: 2022-01-05 18:49:53 +0800 CST

新手 btrfs 用户:校验和失败和大量输入/输出错误

  • 0

一位室友向我建议,我应该使用 btrfs,而不是到目前为止我一直在做的事情,即使用带有克隆驱动器的 mdadm,并在阵列中添加一个额外的驱动器来“克隆”备份。该系统具有三个驱动器,它们都是物理上不同的型号:

  • /dev/sda: 东芝 HDWQ140
  • /dev/sdb: HGST HUS724040AL
  • /dev/sdc:WDC WDS250G2B0B

好吧,我已经安装了 btrfs,但现在它已经运行了将近一年,我发现我应该每周运行一个 cron 作业来“清理”它。我开始尝试为此设置一个脚本,尽管它看起来像是一个愚蠢的 DIY 系统,需要你在谷歌上搜索一个脚本(我发现的热门脚本来自 2014 年之类的东西)并安装它以保持你的文件系统运行。

当我在做所有这些管理工作时,我发现了一些需要移动的文件......我将跳过血淋淋的细节,但是将文件从一个 btrfs 文件系统移动到另一个文件系统并再次返回会产生各种“输入/输出”错误”(在 ext4 中从未见过),甚至这个 gem:

Jan  4 21:19:19 host kernel: [9771285.171522] attempt to access beyond end of device
Jan  4 21:19:19 host kernel: [9771285.171522] sda1: rw=1, want=70370535518208, limit=7814035087
Jan  4 21:19:19 host kernel: [9771285.171529] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 1, rd 0, flush 0, corrupt 5, gen 0

我假设这些是相关的。但这是真正愚蠢的事情。我不仅在已经存在一年的文件上遇到校验和错误,而且在我几个小时前从字面上复制到不同物理驱动器的文件上也遇到了校验和错误。此外,几乎所有这些文件都在巨大的文件中(例如 DVD iso 图像),如果这有任何迹象吗?

所以是的,我可能会同时看到三重驱动器故障,或者 btrfs 是否只是为我破坏我的文件?

此外,知识渊博的 btrfs 人员的每篇文章都包含一个可爱的小字“嗯,你应该从备份中恢复它......你确实有备份,不是吗”。所以告诉我,你们到底用什么来备份 4TB 硬盘?因为我不能确切地,你知道,把它写到 DVD 上,如果硬盘驱动器这么不可靠,那么备份到硬盘驱动器有什么好处呢?

这么严肃的问题:

  1. 这些校验和错误真的正常吗?
  2. 为什么我会在今天才复制的文件上看到它们?
  3. 定期磨砂足以防止这种情况发生吗?
  4. 我是否应该购买新的硬盘并丢弃机器中当前所有的硬盘,因为它们真的出现故障?
  5. 您建议如何备份多 TB 数据驱动器?

2022-01-07 更新:我smartctl在所有驱动器上运行,并且这些驱动器都没有报告任何问题。所有驱动器的原始 UDMA_CRC_Error_Count 为 0。试图恢复损坏的文件...复制到机器的 tar 文件在几个文件出现 I/O 错误后失败。真的不知道这里发生了什么:

  • 如果驱动器或电缆坏了,这会出现在 SMART 中,对吗?
  • 如果CPU或内存不好,系统就不会完美运行吗?(目前 115 天没有明显问题)?
  • 如果这是 btrfs 的一个全面的错误,它不会遍布整个互联网吗?

那么问题究竟出在哪里呢?

backup ubuntu-20.04 btrfs checksum
  • 1 个回答
  • 195 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve