事情发生于一次宝塔面板计划未执行,,一个多月都未执行。我一直没有察觉,正好遇到服务器故障直接导致丢失了一个月的数据,损失惨重。
宝塔面板后台查看才发现添加的计划任务一直未自动运行。
而且我想删除也删除不掉,提示,宝塔面板 无法写入文件,请检查是否开启了系统加固功能!。修复面板也没用,也没有安装宝塔系统加固。
也无法删除计划,提示 无法写入文件,请检查是否开启了系统加固功能!
但是 我并没有 使用 宝塔系统加固 软件
计划任务无法删除,已经试过修复面板,也无法修改添加
解决方法:登录服务器执行以下代码
chattr -ai /var/spool/cron
过了几分钟就可以删除计划任务了,将之前设置的计划任务全部删除后重新添加。
发现计划任务就能自动运行了。
ps:以下时参考知识
请检查系统下的计划任务主程序运行是否正常,可以尝试重启一下这个程序然后再试试
#查看状态
systemctl status crond
#重启计划任务
systemctl restart crond
复制代码
重启后可以添加一个新的计划任务试试,比如10秒执行一下curl https://bt.cn
如果执行正常,可能之前的计划任务要删掉重新添加了,主程序宕机导致的假死无法执行
提供的信息显示 crond
服务正在运行,并且没有显示任何错误或问题。
如果计划任务没有执行,可能是由于多种原因导致的。以下是一些可能的原因和解决方法:
- 计划任务配置错误:检查计划任务的配置文件,确保配置正确无误。例如,检查定时任务的cron表达式是否正确,命令或脚本是否可执行等。
- 计划任务依赖项缺失:如果计划任务依赖于其他服务或脚本,确保这些依赖项已经正确配置并启动。
- 权限问题:检查计划任务是否具有执行所需的权限。例如,确保计划任务所运行的命令或脚本具有正确的执行权限。
- 系统资源不足:如果系统资源不足,计划任务可能无法执行。检查系统资源使用情况,确保有足够的资源来执行计划任务。
- 日志和错误输出:查看计划任务的日志和错误输出,以确定是否存在任何错误或异常情况。
请注意,以上只是一些可能的原因和解决方法。具体的问题可能因系统环境和配置而异。如果你能提供更多关于计划任务的配置和错误信息,我可以更具体地帮助你解决问题。
下面是我找宝塔官方处理的一个过程
①按要求提供了状态
②提供安装了的软件
ls -lh /etc/init.d/
执行代码后服务器的反馈
5#
lengheima 准内测组成员 发表于 26 分钟前 | 只看该作者
大炮运维V587 发表于 2023-12-20 12:21
您好,您执行下
看下安装过什么软件
drwxr-xr-x. 2 root root 202 Dec 20 12:22 .
drwxrwxr-x. 10 root root 127 Dec 20 2022 ..
-rwxr-xr-x 1 root root 15K Dec 1 09:12 bt
-rwx------ 1 root root 2.7K Dec 20 11:52 bt_ipfilter
-rwxr-xr-x 1 root root 3.0K Dec 20 12:12 bt_syssafe
-rwxr-xr-x 1 root root 3.4K Dec 20 11:52 bt_tamper_proof
-rw-r--r-- 1 root root 18K May 22 2020 functions
-rwxr-xr-x 1 root root 11K Jan 28 2023 mysqld
-rwxr-xr-x 1 root root 4.5K May 22 2020 netconsole
-rwxr-xr-x 1 root root 7.8K May 22 2020 network
-rwxr-xr-x 1 root root 2.7K Dec 6 2018 nginx
-rwxr-xr-x 1 root root 2.4K Nov 9 2022 php-fpm-74
-rwxr-xr-x 1 root root 1.5K Aug 17 2016 pure-ftpd
-rw-r--r-- 1 root root 1.2K Sep 1 2022 README
代码解释:
drwxr-xr-x. 2 root root 202 Dec 20 12:22 .
是一个Linux或Unix系统中的文件或目录的权限和属性信息。
这个信息的各个部分的含义如下:
d
: 表示这是一个目录(directory)。rwx
: 这是所有者(owner)的权限,其中r
代表可读(read),w
代表可写(write),x
代表可执行(execute)。r-x
: 这是组(group)的权限,其中r
代表可读,-
代表不可写,x
代表可执行。r-x
: 这是其他用户(others)的权限,同样也是r
代表可读,-
代表不可写,x
代表可执行。2
: 表示这个目录的硬链接数。root root
: 分别表示这个目录的所有者和组。202
: 表示这个目录的大小,单位是字节(bytes)。Dec 20 12:22
: 表示这个目录的最后修改时间。.
: 表示这是一个当前目录(表示路径的开始点)。
简单来说,这个信息告诉我们这是一个名为.
的目录,所有者是root用户,组也是root组,所有者、组和其他用户都有读/执行权限,但没有写权限。
其他教程
宝塔linux面板安装软件错误:宝塔面板检测到系统目录不可写。解决方法
错误:宝塔面板检测到系统目录不可写。
1、安装了宝塔系统加固,请先关闭;
2、安装了云锁,请关闭系统加固功能;
3、安装了安全狗,请关闭系统加固功能;
4、使用了其它安全软件,请先卸载。
经检查宝塔面板未安装宝塔系统加固,云锁,安全狗,其它安全软件,面板日志已经清空无法通过日志分析操作过什么,据客户说他之前有安装宝塔系统加固但已经卸载,查看/etc/init.d目录下无法创建写入文件想到是之前使用过宝塔系统加固做过加固导致一些目录和文件被锁。
查看lsattr /etc/下被加锁文件或者目录如下:
查看lsattr /usr/下被加锁文件或者目录如下:
最后得到被加锁文件或者目录下:
—-i———– /etc/cron.hourly
—-i———– /etc/bashrc
—-i———– /etc/group
—-i———– /etc/passwd
—-i———– /etc/anacrontab
—-i———– /etc/cron.weekly
—-i———– /etc/rc.d
—-i———– /etc/init.d
—-i———– /etc/cron.d
—-i———– /etc/cron.monthly
—-i———– /etc/crontab
—-i———– /etc/cron.daily
—-i———– /usr/bin
—-i———– /usr/sbin
使用chattr -i对其解锁
chattr -i /etc/cron.hourly
chattr -i /etc/bashrc
chattr -i /etc/group
chattr -i /etc/passwd
chattr -i /etc/anacrontab
chattr -i /etc/cron.weekly
chattr -i /etc/rc.d
chattr -i /etc/cron.d
chattr -i /etc/cron.monthly
chattr -i /etc/crontab
chattr -i /etc/cron.daily
chattr -i /etc/init.d
chattr -i /usr/bin
chattr -i /usr/sbin
最后测试已经可以安装软件商店上的软件,该方法也不是万能的,毕竟无法安装也不一定是权限问题也有经查询资料有安装目录没权限或者硬盘没空间等导致