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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1315508
Accepted
adazem009
adazem009
Asked: 2021-02-12 02:07:19 +0800 CST2021-02-12 02:07:19 +0800 CST 2021-02-12 02:07:19 +0800 CST

检测到 ext4 错误时如何运行命令?

  • 772

在过去的几天里,我遇到了一些问题。当检测到一些 ext4 错误时,我的根分区随机重新挂载ro(只读)。

我已经安装了另一个 HDD,/mnt/files并且该目录下的所有内容都使用 Nextcloud 同步。

当根文件系统以只读方式重新挂载时,Nextcloud 开始随机删除我的数据。这不是问题,因为我总是可以从服务器上的垃圾箱中恢复文件。恢复过程需要很长时间,所以我想在根文件系统重新挂载时立即杀死 Nextcloud,以防止进一步的数据丢失。

killall nextcloud重新安装时是否可以运行ro?

无论如何,我启动了一张 live CD 并修复了所有检测到的错误,所以它不应该再次发生,但我想确保它不会再次影响我的数据。

mount
  • 1 1 个回答
  • 38 Views

1 个回答

  • Voted
  1. Best Answer
    BulletBob
    2021-02-12T03:28:00+08:002021-02-12T03:28:00+08:00

    systemd如果您想每 15 分钟检查一次根文件系统是否为只读,您可以通过以下方式解决此问题:

    • 创建检查文件系统并使其可执行的脚本:
    #!/bin/sh
    
    取消设置 $rootfs
    未设置 $status
    rootfs=SDXn #替换为 sda1 例如。
    
    grep -E ''$rootfs'.*\ ro' /proc/mounts 2>&1 > /dev/null
    状态=$?
    
    如果 [ $状态 = 0 ];
        然后
            echo "$rootfs 不行"
            killall nextcloud
            1号出口
        别的
            echo "$rootfs 没问题"
            出口 0
    菲
    
    • 创建systemd servicein /lib/systemd/system/:
    [单元]
    描述=当文件系统为只读时杀死 nextcloud 客户端
    
    [服务]
    类型=oneshot
    ExecStart=/path/to/script.sh
    
    • 创建systemd timerin/lib/systemd/system/并启用/开始于systemctl [enable|start] name_of_file.timer:
    [单元]
    描述=当文件系统为只读时杀死 nextcloud 客户端
    
    [定时器]
    OnCalendar=*:0/15
    
    [安装]
    WantedBy=timers.target
    

    请注意,.timer 和 .service 文件需要具有相同的名称。

    • 0

相关问题

  • 如何挂载 ISO?

  • 将 USB 磁盘挂载到永久位置

  • 修复 USB 驱动器自动通知

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • 当另一个文件系统安装在路径上时是否可以删除文件?

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve