色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

磁盤滿了除了刪文件還可以這樣

阿銘linux ? 來源:阿銘linux ? 作者:阿銘linux ? 2022-11-09 09:10 ? 次閱讀

【需求】

有一個目錄/data/att/,該目錄下有數百個子目錄,比如/data/att/aming,/data/att/linux.

然后再深入一層為以日期命名的目錄,例如 /data/att/aming/20220909,每天會生成一個日期新目錄。

由于/data所在磁盤快滿了,所以需要將老文件(一年以前的),挪到另外一個目錄下 /data1/att下。

示例:

mv   /data/att/aming/20211001  /data1/att/aming/20211001

挪完之后,還需要做軟鏈接,

示例:

ln -s /data1/att/aming/20211001  /data/att/aming/20211001 

需要寫一個腳本,要求/data/att/下所有子目錄都要按此操作,腳本會每天01:00 執行一次,任務計劃無需考慮,只需要寫腳本即可。

提醒:要確保老文件成功挪到/data1/att下之后才能做軟鏈接,需要有日志。

【解析】

要求看起來雖然很多,但本質上就一個核心訴求,將老的文件挪到新的目錄,然后將挪走的目錄軟鏈接到之前的位置上。

先來分析目錄結構。

/data/att/下面有很多子目錄,每一個子目錄下面又有按日期命名的目錄。

而我們要挪走并做軟鏈接的目錄就是這個按日期命名的目錄。

首先,/data/att/下面有幾百個子目錄,所以這里需要做一個遍歷循環。

然后如何找到每一個子目錄下面一年以前的目錄呢?

先理一下思路:由于子目錄下面是按年月日命名的目錄,而且腳本需要每天都執行,那是不是意味著,2022年9月1日要挪走并做軟鏈接的目錄是20210901呢?

原則上是這樣,但是我們要考慮到一個問題,這個腳本第一次執行時一年以前的目錄可不止一個啊。那換一個方法,使用find吧。

而find時,只需要針對/data/att/xxx/下的這一層目錄,再往里的子目錄就不管了。

find有一個 -maxdepth選項,用來指定目錄層級,就可以實現這個目的。

總結一下,命令是這樣的

find  /data/att/xxx/ -maxdepth 1 -type d  -mtime +365

注意,這個-maxdepth 1必須要放到-type d的前面去。

好,找到目錄后,接下來就該mv走了。

問題又來了,假如在mv的時候,目標目錄已經存在了呢?

雖然這種情況幾乎不會發生,但也不排除有此類特例。

而且題目中也要求了,只有成功挪走了,才可以做軟鏈接,如果目標目錄已經存在,那mv的時候,會將目錄挪到目標目錄下面。

說到這,你可能已經懵了,還是舉個具體例子吧。

比如,我想將/root/2這個目錄挪到/tmp/下去,正常命令是這樣的:

mv   /root/2   /tmp/2  

但是,如果/tmp/2已經存在了,則會將/root/2 放到 /tmp/2/的里面,就變成了 /tmp/2/2

為了避免此類情況發生,我建議使用rsync來做同步,

rsync -a /root/2/   /tmp/2/

這樣,就可以保證/root/2/ 和 /tmp/2/ 是一樣的了。那你會說,使用rsync后,原來的目錄不還存在么?

是的,所以我們就需要額外做一個刪除操作,前提是,只有當rsync 執行成功后,才能做刪除。刪除后,再來做軟鏈接的操作,軟鏈接的命令很簡單,不用多解釋了 。

最后還有一個要求,就是需要有日志輸出,比如是否挪動成功,是否做軟鏈接成功。這就需要使用 $?這個變量來驗證了。

這里還有一個知識點需要提醒各位看官。雖然我們find出來的目錄最多到日期那一層級,比如:/data/att/aming/20211001,但是 /data1/att/ 那邊可不一定有 aming這個子目錄啊,所以你要么提前先創建好aming這一層子目錄,要么在rsync的時候,讓它自動創建。

rsync有一個-R選項,可以做到這點,還是舉例子吧:

比如,我想將 /dir1/a/b同步到 /dir2/a/b ,但是/dir2/a目錄不存在,你可以這樣做

cd  /dir1
rsync -avR  a/b  /dir2/

這樣就會自動創建a/b兩層目錄,注意,我可是先cd到了/dir1下面,再去rsync -R

【參考答案】

腳本最終是這樣的:

#!/bin/bash
main()
{
cd  /data/att
for dir in `ls`
do 
    for dir2 in `find $dir -maxdepth 1 -type d -mtime +365`
    do
        rsync -aR $dir2/  /data1/att/ 
        if [ $? -eq 0 ]
        then
            rm -rf $dir2
            echo "/data/att/$dir2 移動成功"
            ln -s /data1/att/$dir2  /data/att/$dir2  && echo "/data/att/$dir2成功創建軟鏈接"
            echo 
        else
            echo "/data/att/$dir 未移動成功"
        fi      
    done
done
}
main &> /tmp/move_old_data_`date +%F`.log

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 磁盤
    +關注

    關注

    1

    文章

    379

    瀏覽量

    25224
  • Data
    +關注

    關注

    0

    文章

    62

    瀏覽量

    38293

原文標題:磁盤滿了除了刪文件還可以這樣

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    除了定時開關機,5G基站還可以這樣節省電費

    最近,一篇關于中國聯通在每天21:00到次日9:00關閉5G基站,以減少能耗,節約電費的新聞,引起了大量的關注。很多人是在看到這樣的報道后才知道,原來5G基站是需要耗費大量電能的。那除了關閉基站,還有什么辦法可以節省電費呢?
    的頭像 發表于 08-03 06:20 ?1.3w次閱讀

    求...

    本帖最后由 871881392 于 2014-11-28 08:21 編輯 求
    發表于 11-24 14:56

    燈光還可以這樣控制

    的智能燈光,可以實現遙控器在通電狀態下的自由分組,任性操作,再也不需反復斷電的復雜設置分組;未來的智能燈光,除了可以單一控制外還可以批量、大批量實時控制群組燈光的色溫亮弱、無限顏色色彩
    發表于 02-25 10:22

    嵌入式linux磁盤被寫滿了再寫會出現什么后果

    ),結果日志缺東少西,斷斷續續;不騰挪磁盤,再次運行應用,依舊可以正常工作一段時間;==待解釋參見:linux的硬盤滿了會導致哪些系統調用受影響...
    發表于 11-05 07:03

    高精度的溫度控制除了用PID控制還可以用什么算法控制?

    高精度的溫度控制,我們除了用PID控制還可以用什么算法控制
    發表于 10-12 08:09

    STM32的SD的讀寫除了用SPI還可以用什么方式?

    STM32的SD的讀寫除了用SPI還可以用什么方式
    發表于 10-12 08:32

    電腦c盤滿了怎么清理

    打開我的電腦,在C盤上鼠標右鍵選擇“屬性”→“清理磁盤”,這樣可以先把C盤里的一些表面垃圾和零碎文件清理掉。在進入C盤的“C:\WINDOWS\SoftwareDistribution
    的頭像 發表于 03-08 16:16 ?16.4w次閱讀

    Linux系統不停的報磁盤已滿應該如何處理

    由于是開發環境,堆滿了大量的日志沒,10g了,于是我刪除了一些很久的日志,8g。奇怪的事情發生了,命令查看磁盤,依然是100%。linux還是跟windows區別挺大的么,windo
    的頭像 發表于 06-27 09:35 ?2829次閱讀

    安卓手機內存不夠 哪些可以放心

    安卓手機用的時間長了,如果不及時清理文件的話,再大的內存也不夠用。但文件名都是英文,到底哪些可以放心,哪些選錯必死呢?一文幫你解答! 這些放心
    的頭像 發表于 08-06 14:29 ?9065次閱讀

    MySQL磁盤滿了應該如何解決

    本文檔的主要內容詳細介紹的是MySQL磁盤滿了應該如何解決。
    發表于 12-26 10:25 ?2134次閱讀

    沒有做LVM的磁盤如何擴容呢

    今天一個學生問我,虛擬機磁盤滿了,然后用fdisk工具把原來的磁盤/dev/sda3改為lvm格式,結果不生效。
    的頭像 發表于 05-26 11:20 ?1994次閱讀
    沒有做LVM的<b class='flag-5'>磁盤</b>如何擴容呢

    linux磁盤空間滿了怎么清理

    和告警信息一致,接著我們就是要找到導致磁盤空間滿的目錄或文件 如何找到占用空間大的目錄或文件? 一種比較笨的方法是,在根目錄下,通過du -hs命令,列出各目錄所占空間大小。
    的頭像 發表于 11-09 11:46 ?1149次閱讀
    linux<b class='flag-5'>磁盤</b>空間<b class='flag-5'>滿了</b>怎么清理

    萬萬沒想到,二極管竟然還可以這樣用?

    萬萬沒想到,二極管竟然還可以這樣用?
    的頭像 發表于 12-15 09:28 ?348次閱讀
    萬萬沒想到,二極管竟然<b class='flag-5'>還可以</b><b class='flag-5'>這樣</b>用?

    linux傳輸一半磁盤滿了怎么清理

    常用的方法和工具,幫助您解決磁盤空間不足的問題。 第一部分:確認磁盤使用情況(200字) 在解決磁盤空間不足之前,首先需要確認系統中各個文件夾的使用情況。
    的頭像 發表于 11-23 10:34 ?558次閱讀

    服務器數據恢復—KVM虛擬機raw格式磁盤文件數據恢復案例

    : 工作人員操作失誤刪除了服務器上的3臺KVM虛擬機,虛擬機中運行數據庫,需恢復誤刪除虛擬機中raw格式的磁盤文件
    的頭像 發表于 05-17 13:33 ?465次閱讀
    服務器數據恢復—KVM虛擬機raw格式<b class='flag-5'>磁盤</b><b class='flag-5'>文件</b>數據恢復案例
    主站蜘蛛池模板: 色在线视频亚洲欧美| 在线亚洲精品福利网址导航| younv 学生国产在线视频| 热巴两次用约老师屁股发底线球| 不卡的在线AV网站| 偷窥美女3| 久久综合久久鬼色| 超级最爽的乱淫片免费| 亚洲AV综合99一二三四区| 快乐激情网| 电影内射视频免费观看| 亚洲精品无码午夜福利在线观看| 老熟人老女人国产老太| 岛国大片在线观看完整版| 亚洲精品第一页| 欧美精品高潮呻吟AV久久| 国产免费阿v精品视频网址| 5566精品资源在线播放| 午夜dj影院视频观看| 乱奷XXXXXHD| 国产精品视频免费视频| 34g污奶绵uk甩奶| 午夜免费小视频| 蜜桃成人在线| 国产人妖一区二区| caoporn超碰| 野花韩国在线观看| 三级黄视频| 媚药调教被撑到合不拢h| 国产午夜福利片| 99在线免费观看| 亚洲一卡久久4卡5卡6卡7卡| 日韩 国产 中文 无码| 老师洗澡让我吃她胸的视频| 国产精品一区二区免费| 99久久久久精品国产免费麻豆| 亚洲AV无码乱码国产精品品麻豆| 欧美性暴力变态xxxx| 久久久久久久久a免费| 国产婷婷午夜无码A片| writeas雷狮直播|