Gri*_*art 7 linux filesystems fsck
我有另一个关于 df 的问题,现在我得出结论,我需要运行 fsck 我的分区,我一直在阅读有关它的信息,如果可能的话,我希望得到一些建议。
情况是这样的,没有对服务器的物理访问,我想运行 fsck。
从我读到的内容来看,我只需要touch /forcefsck
重新启动它就会运行 fsck。
我的问题是,在其基础上,fsck 将运行什么参数?是否需要用户输入来纠正错误等?
运行后它会保存发生了什么的日志吗?
如果这是它的运行方式,那将是完美的,无论如何在重新启动时强制执行?
fsck -v -p /machine/disk/p1 2>&1 > fscklog.txt
Run Code Online (Sandbox Code Playgroud)
他们也在这里描述了这一点:
在 ubuntu 等 debian 和 debian-derivatives 上编辑远程服务器上的 /etc/default/rcS 并设置“FSCKFIX=yes”,将“-y”添加到启动时间 fsck 也是一个好主意,所以它不会冒险远程服务器卡在等待某人登录控制台并运行 fsck。
但是在 Centos 上似乎不存在
我目前只有 ssh 访问权限,所以这就是我对它如此挑剔的原因。
这里有一些关于服务器上磁盘和挂载卷的信息:http : //pastebin.centos.org/33314
谢谢。
好的,所以我在 CentOS 上发现你可以这样做:
touch /forcefsck
echo -n "-ys" > /fsckoptions
Run Code Online (Sandbox Code Playgroud)
要获得 fsck 做了什么的日志,我不得不走更艰难的路线:
警告:这样做的风险由您自己承担,我不知道如果出错会产生什么影响
编辑/etc/rc.sysinit
(不要忘记备份)以获得所需的行为:
从第 500 行开始(将 -C 更改为 -V 可以去掉进度条)
if [ "$BOOTUP" = "color" ]; then
fsckoptions="-C $fsckoptions"
else
fsckoption="-V $fsckoptions"
Run Code Online (Sandbox Code Playgroud)
从第 648 行开始,将运行 fsck 的块更改为如下所示:
outputtt="$(fsck -T -t noopts=_netdev -A $fsckoptions)"
mount -n -o remount,rw /
echo $outputtt > /var/log/fsckoutput
mount -n -o remount,ro /
Run Code Online (Sandbox Code Playgroud)
一个小好处是它不会保留新行,但在迫切需要的时候可读。
感谢所有的帮助。
归档时间: |
|
查看次数: |
3538 次 |
最近记录: |