日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 创建一个垃圾篓防误删及其误删文件恢复

發布時間:2025/3/15 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 创建一个垃圾篓防误删及其误删文件恢复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、創建一個垃圾簍

給你的linux創建一個垃圾簍/回收站,防誤刪

創建一個垃圾回收站,保存被刪除距今3天的文件,過期則被刪除

1. 在你的主目錄下,創建文件夾 .trash

cd ~ mkdir .trash

2. 在你的常用腳本目錄下創建這倆腳本

#!/bin/bash TRASH_DIR="/home/lixy/.trash"for i in $*; doSTAMP=`date +%s`fileName=`basename $i`if [[ -d $TRASH_DIR/$fileName.$STAMP ]];thenmkdir $TRASH_DIR/$fileName.$STAMPfimv $i $TRASH_DIR/$fileName.$STAMP done ################################################## # File Name : /home/lixy/bin/removeRF.sh # Author : biolxy # E-mail : biolxy@aliyun.com # Created Time: Wed 17 Apr 2019 02:48:47 PM CST ################################################## #!/bin/bash # 該文件夾下文件名字格式為 : JZ201810081226.1555481687 # 文件夾即為你設置的垃圾箱地 : /home/lixy/.trash inputdir=`realpath $1` STAMP=`date +%s` cd ${inputdir} for i in `ls -a $inputdir ` dofileRemoveTime=${i##*.} # 表示從左邊開始刪除最后(最右邊)一個 . 號及左邊的所有字符#if [ $fileRemoveTime ] # 檢測字符串是否為空,不為空返回 true。# ${#fileRemoveTime} 返回字符串長度,也是一個strif [ ${#fileRemoveTime} = 10 ] # = 檢測兩個字符串是否相等,相等返回 true; 檢測字符串長度是否等于10,等于則返回 true。then# echo $STAMP $fileRemoveTime# echo ${#fileRemoveTime}difference=$[ $STAMP - $fileRemoveTime ] # 支持的運算符與let相同,但也只支持整數運算# echo $difference# 24 * 60 * 60 * 3 = 259200 s 即 3 天if [ $difference -gt 259200 ];thenecho "# `date` : rm file $i"/usr/bin/rm -rf $ififi done

3. 用 remove.sh 替換 rm

vim ~/.bashrc # 你用的是zsh的話就改為 ~/.zshrc chmod +x /home/lixy/bin/remove.sh # 給remove.sh 添加可執行權限 alias rm='/home/lixy/bin/remove.sh' # 替換rm, 保存退出 source ~/.bashrc # 刷新環境變量

替換過之后,rm?刪除的文件,會被移動到 /home/lixy/.trash 文件夾,并且會在文件后添加?.1555481687的后綴,該后綴為刪除時的時間(秒)

4. 添加定時任務

30 6 * * * /bin/bash /home/lixy/bin/removeRF.sh /home/lixy/.trash > /home/lixy/.trash/remove.log

每天早上6.30 調用腳本,刪除指定的.trash?文件夾下的文件,腳本中會根據文件移動到.trash 時添加的后綴,判斷移動時間,移動時間大于3天的,即被?/usr/bin/rm?強制刪除

二、誤刪恢復

好的,現在就該神器extundelete上場了。

1、安裝

apt install extundelete

?2、查找要恢復的驅動器名

df -h or lsblk Filesystem?????????????1K-blocks?????Used???Available?Use%?Mounted?on /dev/sda1?????????????????495844????64150??????406094??14%?/boot

3、運行恢復

默認恢復到當前目錄下的RECOVERED_FILES目錄中去

恢復單個文件

extundelete?/dev/sdb1?--restore-file?hosts

恢復一個目錄

extundelete?/dev/sdb1?--restore-files?test/

恢復整個分區

extundelete?/dev/sdb1?–-restore-all

這個工具貌似支持EXT4文件系統,經過實際測試,restore-all比較好用,在初次刪除后可以很好的恢復文件及目錄結構,但是如果我在相同位置新建了相同的文件名或者目錄名,就會恢復失敗(找不到了)。而恢復單獨的文件或者目錄則沒有成功,如果有成功的可以告訴我。

總結

以上是生活随笔為你收集整理的linux 创建一个垃圾篓防误删及其误删文件恢复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。