linux服务器/bin/bash误删的后果

本文介绍了一种情况,即由于丢失了bash文件而导致Linux系统中的服务无法正常启动及远程SSH连接失败的问题。文中提供了查找和恢复bash的方法,通过将找到的bash文件复制到/bin/目录并创建sh的软链接来解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、该文件删除后,/etc/init.d/目录下的几乎所有服务都无法启动。 
使用 service sshd start 启动或停止服务时,报错:
env: /etc/init.d/sshd : no such file or directory
单独启动某个服务,执行/etc/init.d/目录下的服务时,也无法启动:
$ ./sshd restart
/bin/bash: no such file or directory


2、ssh远程连接服务器时,无法连接:报错Permission deny,用户名或密码不正确。


补救办法:
在服务器上查找bash文件,
$whereis bash
bash: /usr/bin/bash

如果有,那么你很幸运!不用重做系统,直接拷贝到 /bin/ 目录下,建立软连接 sh即可!
上述问题1、2 全部解决。


如果系统中没有这个文件。。。。


### 如何在Linux中恢复误删的MySQL数据 #### 查找Binlog文件路径 默认情况下,`binlog`日志位于MySQL安装目录下的 `data` 文件夹内[^1]。对于特定配置环境而言,可以通过查询系统变量来确认确切的位置: ```sql SHOW VARIABLES LIKE 'log_bin_basename'; ``` 该命令会返回类似于 `/home/programs/mysql-5.6.26/data/mysql-bin` 的路径信息[^2]。 #### 刷新并查看当前状态 为了确保能够获取最新的二进制日志文件,在执行任何操作之前建议先刷新日志,并检查主服务器的状态: ```sql FLUSH LOGS; SHOW MASTER STATUS; ``` 这一步骤可以帮助定位需要回滚的具体位置以及生成一个新的二进制日志文件[^3]。 #### 使用mysqlbinlog工具解析和应用事件 一旦确定了要处理的时间范围或事务ID,则可以利用 `mysqlbinlog` 工具读取指定时间段内的变更记录,并将其保存为SQL脚本以便后续导入数据库中。例如: ```bash /mysqlsoft/mysql/bin/mysqlbinlog -vv --start-datetime="YYYY-MM-DD HH:MM:SS" \ --stop-datetime="YYYY-MM-DD HH:MM:SS" /path/to/mysql-bin.xxxxxx > restore.sql ``` 这里 `-vv` 参数用于显示详细的输出;而 `--start-datetime` 和 `--stop-datetime` 可以帮助精确控制想要提取的日志片段[^4]。 最后,将生成好的 SQL 脚本加载回到目标库中完成数据恢复过程: ```sql SOURCE /path/to/restore.sql; ``` 需要注意的是,在实际环境中应当谨慎评估风险,并尽可能备份现有数据后再尝试上述方法。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员柒叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值