E138: 无法写入 viminfo 文件 /root/.viminfo!

:q退出时

检查一下磁盘空间

 

检查一下inode 

 

 for i in /var/spool/*; do echo $i; find $i |wc -l; done

发现几乎全部被/var/spool/clientmqueue目录占用完了 

直接将/var/spool/clientmqueue目录下的文件清理掉即可

清理后

 然后再看问题已经解决了

linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件   

原因:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;所以这些文件不是什么重要的文件,可以直接删除!

解决办法:
1、 将crontab里面的命令后面加上> /dev/null 2>&1
2、知识点:
2>:重定向错误。
2>&1:把错误重定向到输出要送到的地方。即把上述命令的执行结果重定向到/dev/null,即抛弃,同时,把产生的错误也抛弃。

cat /var/spool/clientmqueue/qfvB8JQ1SD002343

V8
T1512761161
K1512761161
N1
P30540
MDeferred: Connection refused by [127.0.0.1]
Fbs
$_root@localhost
${daemon_flags}c u
Sroot
Aroot@hnstp
MDeferred: Connection refused by [127.0.0.1]
C:root
rRFC822; root@hnstp
RPFD:root
H?P?Return-Path: <▒g>
H??Received: (from root@localhost)
        by hnstp (8.14.4/8.14.4/Submit) id vB8JQ1SD002343;
        Sat, 9 Dec 2017 03:26:01 +0800
H?D?Date: Sat, 9 Dec 2017 03:26:01 +0800
H?F?From: root <root>
H?x?Full-Name: root
H?M?Message-Id: <201712081926.vB8JQ1SD002343@hnstp>
H??To: root
H??Subject: The certificate for hnstp has expired
.

  

[root@hnstp ~]# cat /var/spool/clientmqueue/qf2B87Z4NC009453
V8
T1670484904
K1670484904
N1
P30390
MDeferred: Connection refused by [127.0.0.1]
Fbs
$_root@localhost
${daemon_flags}c u
Sroot
Aroot@hnstp
MDeferred: Connection refused by [127.0.0.1]
C:root
rRFC822; root@hnstp
RPFD:root
H?P?Return-Path: <▒g>
H??Received: (from root@localhost)
        by hnstp (8.14.4/8.14.4/Submit) id 2B87Z4NC009453;
        Thu, 8 Dec 2022 15:35:04 +0800
H?D?Date: Thu, 8 Dec 2022 15:35:04 +0800
H?x?Full-Name: CronDaemon
H?M?Message-Id: <202212080735.2B87Z4NC009453@hnstp>
H??From: root (Cron Daemon)
H??To: root
H??Subject: Cron <root@hnstp> /usr/sbin/ntpdate cn.pool.ntp.org
H??Content-Type: text/plain; charset=UTF-8
H??Auto-Submitted: auto-generated
H??X-Cron-Env: <SHELL=/bin/sh>
H??X-Cron-Env: <HOME=/root>
H??X-Cron-Env: <PATH=/usr/bin:/bin>
H??X-Cron-Env: <LOGNAME=root>
H??X-Cron-Env: <USER=root>
.

另外一种情况是:

ll /root/.viminf*tmp

有大量的这类的tmp文件  

.viminfa.tmp  .viminfd.tmp  .viminfg.tmp  .viminfj.tmp  .viminfm.tmp  .viminfo.tmp  .viminfr.tmp  .viminfu.tmp  .viminfx.tmp                                                          
.viminfb.tmp  .viminfe.tmp  .viminfh.tmp  .viminfk.tmp  .viminfn.tmp  .viminfp.tmp  .viminfs.tmp  .viminfv.tmp  .viminfy.tmp                                                          
.viminfc.tmp  .viminff.tmp  .viminfi.tmp  .viminfl.tmp  .viminfo      .viminfq.tmp  .viminft.tmp  .viminfw.tmp  .viminfz.tmp 

直接清理一下即可

rm -rf /root/.viminf*tmp

其它可能原因可参考:How To Fix - Vim Error E138: Can't write viminfo file - LookLinux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值