linux服务器上被删除文件还存在活动中的进程时如何批量恢复

如果被删除文件还存在活动中的进程:

1. 查询出被删除文件对应的活动进程ID

lsof | grep deleted

2. 进入对应文件cd /proc/进程ID/fd,执行以下脚本:

for file in $(ls -l | awk '{print $9}'); do

symlink_dir=$(ls -l $file | awk '{print $11}')

If[ ! -d "$(dirname symlink_dir)" ]; then

Mkdir -p "$(dirname symlink_dir)"

fi

if [ ! -f "$symlink_dir" ]; then

cat "$file" > "$symlink_dir"

echo "Copied $file to $symlink_dir"

else

echo "$file already exists in $symlink_dir. Skipping..."

fi

done

上面的脚本判断被删除文件的原目录,不存在时自动创建并将文件恢复到原目录中。

ps:本篇文章仅适用于文件还存在活动进程时的恢复。

要在Linux环境下批量删除Redis进程,可以使用xargs命令结合redis-cli来实现。首先,使用redis-cli连接到Redis服务器,然后使用keys命令获取要删除的键的列表,可以使用通配符来匹配多个键。接下来,使用xargs命令将这些键作为参数传递给redis-cli的del命令,以批量删除这些键对应的数据。以下是一个示例命令: redis-cli -h \[ip\] -p \[port\] -a \[password\] keys "prefix*" | xargs redis-cli -h 127.0.0.1 -p 6379 -a '123' del 其,\[ip\]是Redis服务器的IP地址,\[port\]是Redis服务器的端口号,\[password\]是连接Redis服务器所需的密码。通过这个命令,可以在不阻塞业务的前提下,以高效的方式清理Redis的数据。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [【Redis技术专区】「实战案例」谈谈使用Redis缓存高效的批量删除的几种方案](https://blog.csdn.net/l569590478/article/details/128745955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何批量删除Redis的key](https://blog.csdn.net/weixin_33484805/article/details/111971632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值