在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

阿銘linux ? 來(lái)源:阿銘linux ? 作者:阿銘linux ? 2022-11-09 09:10 ? 次閱讀

【需求】

有一個(gè)目錄/data/att/,該目錄下有數(shù)百個(gè)子目錄,比如/data/att/aming,/data/att/linux.

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

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

示例:

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

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

示例:

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

需要寫一個(gè)腳本,要求/data/att/下所有子目錄都要按此操作,腳本會(huì)每天01:00 執(zhí)行一次,任務(wù)計(jì)劃無(wú)需考慮,只需要寫腳本即可。

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

【解析】

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

先來(lái)分析目錄結(jié)構(gòu)。

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

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

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

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

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

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

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

find有一個(gè) -maxdepth選項(xiàng),用來(lái)指定目錄層級(jí),就可以實(shí)現(xiàn)這個(gè)目的。

總結(jié)一下,命令是這樣的

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

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

好,找到目錄后,接下來(lái)就該mv走了。

問(wèn)題又來(lái)了,假如在mv的時(shí)候,目標(biāo)目錄已經(jīng)存在了呢?

雖然這種情況幾乎不會(huì)發(fā)生,但也不排除有此類特例。

而且題目中也要求了,只有成功挪走了,才可以做軟鏈接,如果目標(biāo)目錄已經(jīng)存在,那mv的時(shí)候,會(huì)將目錄挪到目標(biāo)目錄下面。

說(shuō)到這,你可能已經(jīng)懵了,還是舉個(gè)具體例子吧。

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

mv   /root/2   /tmp/2  

但是,如果/tmp/2已經(jīng)存在了,則會(huì)將/root/2 放到 /tmp/2/的里面,就變成了 /tmp/2/2

為了避免此類情況發(fā)生,我建議使用rsync來(lái)做同步,

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

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

是的,所以我們就需要額外做一個(gè)刪除操作,前提是,只有當(dāng)rsync 執(zhí)行成功后,才能做刪除。刪除后,再來(lái)做軟鏈接的操作,軟鏈接的命令很簡(jiǎn)單,不用多解釋了 。

最后還有一個(gè)要求,就是需要有日志輸出,比如是否挪動(dòng)成功,是否做軟鏈接成功。這就需要使用 $?這個(gè)變量來(lái)驗(yàn)證了。

這里還有一個(gè)知識(shí)點(diǎn)需要提醒各位看官。雖然我們find出來(lái)的目錄最多到日期那一層級(jí),比如:/data/att/aming/20211001,但是 /data1/att/ 那邊可不一定有 aming這個(gè)子目錄啊,所以你要么提前先創(chuàng)建好aming這一層子目錄,要么在rsync的時(shí)候,讓它自動(dòng)創(chuàng)建。

rsync有一個(gè)-R選項(xiàng),可以做到這點(diǎn),還是舉例子吧:

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

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

這樣就會(huì)自動(dòng)創(chuàng)建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 移動(dòng)成功"
            ln -s /data1/att/$dir2  /data/att/$dir2  && echo "/data/att/$dir2成功創(chuàng)建軟鏈接"
            echo 
        else
            echo "/data/att/$dir 未移動(dòng)成功"
        fi      
    done
done
}
main &> /tmp/move_old_data_`date +%F`.log

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    25209
  • Data
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    38272

原文標(biāo)題:磁盤滿了除了刪文件還可以這樣

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    除了定時(shí)開(kāi)關(guān)機(jī),5G基站還可以這樣節(jié)省電費(fèi)

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

    求...

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

    燈光還可以這樣控制

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

    嵌入式linux磁盤被寫滿了再寫會(huì)出現(xiàn)什么后果

    ),結(jié)果日志缺東少西,斷斷續(xù)續(xù);不騰挪磁盤,再次運(yùn)行應(yīng)用,依舊可以正常工作一段時(shí)間;==待解釋參見(jiàn):linux的硬盤滿了會(huì)導(dǎo)致哪些系統(tǒng)調(diào)用受影響...
    發(fā)表于 11-05 07:03

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

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

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

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

    電腦c盤滿了怎么清理

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

    Linux系統(tǒng)不停的報(bào)磁盤已滿應(yīng)該如何處理

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

    安卓手機(jī)內(nèi)存不夠 哪些可以放心

    安卓手機(jī)用的時(shí)間長(zhǎng)了,如果不及時(shí)清理文件的話,再大的內(nèi)存也不夠用。但文件名都是英文,到底哪些可以放心,哪些選錯(cuò)必死呢?一文幫你解答! 這些放心
    的頭像 發(fā)表于 08-06 14:29 ?8991次閱讀

    MySQL磁盤滿了應(yīng)該如何解決

    本文檔的主要內(nèi)容詳細(xì)介紹的是MySQL磁盤滿了應(yīng)該如何解決。
    發(fā)表于 12-26 10:25 ?2130次閱讀

    沒(méi)有做LVM的磁盤如何擴(kuò)容呢

    今天一個(gè)學(xué)生問(wèn)我,虛擬機(jī)磁盤滿了,然后用fdisk工具把原來(lái)的磁盤/dev/sda3改為lvm格式,結(jié)果不生效。
    的頭像 發(fā)表于 05-26 11:20 ?1961次閱讀
    沒(méi)有做LVM的<b class='flag-5'>磁盤</b>如何擴(kuò)容呢

    linux磁盤空間滿了怎么清理

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

    萬(wàn)萬(wàn)沒(méi)想到,二極管竟然還可以這樣用?

    萬(wàn)萬(wàn)沒(méi)想到,二極管竟然還可以這樣用?
    的頭像 發(fā)表于 12-15 09:28 ?341次閱讀
    萬(wàn)萬(wàn)沒(méi)想到,二極管竟然<b class='flag-5'>還可以</b><b class='flag-5'>這樣</b>用?

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

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

    服務(wù)器數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)raw格式磁盤文件數(shù)據(jù)恢復(fù)案例

    : 工作人員操作失誤刪除了服務(wù)器上的3臺(tái)KVM虛擬機(jī),虛擬機(jī)中運(yùn)行數(shù)據(jù)庫(kù),需恢復(fù)誤刪除虛擬機(jī)中raw格式的磁盤文件
    的頭像 發(fā)表于 05-17 13:33 ?449次閱讀
    服務(wù)器數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)raw格式<b class='flag-5'>磁盤</b><b class='flag-5'>文件</b>數(shù)據(jù)恢復(fù)案例
    主站蜘蛛池模板: 免费一级牲交毛片| 黄色免费网站在线观看| 午夜在线观看视频| 午夜剧场毛片| 久草干| 黄色网视频| 午夜性| 亚洲精品香蕉婷婷在线观看| 22222se男人的天堂| 男人的视频网站| 天天躁夜夜躁| 欧美淫| 国产成在线观看免费视频| 午夜影院日韩| 亚洲精品第三页| 天天舔天天摸| a毛片免费观看完整| 美女一级毛片免费观看| 国产美女精品久久久久久久免费| 午夜宅男在线| 久久青草91免费观看| 一级黄色录像视频| 国产一级特黄aaa大片| 婷婷国产在线| 老色皮永久免费网站| 午夜影院免费观看视频| 婷婷激情久久| 国产香蕉75在线播放| 思思99re66在线精品免费观看| 操夜夜| 在线成人看片| 你懂的视频在线观看资源| 91po狼人社在线观看| 91在线影视| 亚洲人成电影在线观看网| 恐怖片大全恐怖片免费观看好看的恐怖片| 欧美影院在线| 狠狠色噜噜狠狠狠狠97老肥女| 人与性www| 午夜毛片网站| 这里只有精品在线|