亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用nohup和--remove-source-files在后臺運行rsync并記錄日志方式

 更新時間:2025年05月20日 14:34:52   作者:Hello.Reader  
這篇文章主要介紹了使用nohup和--remove-source-files在后臺運行rsync并記錄日志方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、什么是 --remove-source-files?

  • 作用:在文件成功同步到目標路徑后,刪除源路徑中的文件。
  • 適用場景:需要將文件從一處“移動”到另一處,而不是保留副本,例如清理舊數(shù)據(jù)、遷移文件到新存儲。
  • 注意:此選項只刪除文件,不會刪除源目錄結構。

與常見的 mv 命令相比,rsync --remove-source-files 更適合跨設備或跨網(wǎng)絡的移動操作,因為它支持增量傳輸和錯誤恢復。

二、示例命令

以下是一個使用 nohup--remove-source-files 的完整命令模板:

nohup rsync -av --remove-source-files /source/path/ /destination/path/ > /var/log/rsync_$(date +%Y%m%d_%H%M%S).log 2>&1 &

讓我們逐步拆解這條命令。

三、命令詳解

1. nohup

  • 作用:確保任務在終端關閉后繼續(xù)運行,忽略掛起信號(SIGHUP)。
  • 用法:置于命令開頭。

2. rsync -av --remove-source-files

  • -a(歸檔模式):遞歸同步目錄,保留文件屬性(如權限、時間戳)。
  • -v(詳細輸出):顯示同步和刪除的詳細信息。
  • --remove-source-files:同步完成后刪除源文件。

源路徑和目標路徑

  • /source/path/:包含需要移動的文件或目錄。
  • /destination/path/:文件的目標位置。

3. 日志重定向

> /var/log/rsync_$(date +%Y%m%d_%H%M%S).log

  • 將標準輸出重定向到日志文件。
  • 使用 $(date +%Y%m%d_%H%M%S) 生成時間戳,例如 rsync_20250324_153022.log。

2>&1:將標準錯誤也重定向到日志文件,確保所有信息都被記錄。

4. 后臺運行 &

  • 作用:將任務放入后臺,釋放終端。

四、使用場景與示例

場景1:本地文件移動

/data/old/ 中的文件移動到 /data/new/

nohup rsync -av --remove-source-files /data/old/ /data/new/ > /var/log/rsync_$(date +%Y%m%d_%H%M%S).log 2>&1 &
  • 結果/data/old/ 中的文件被同步到 /data/new/ 并刪除,目錄結構保留。

場景2:遠程文件遷移

將本地文件移動到遠程服務器:

nohup rsync -avz --remove-source-files -e ssh /local/data/ user@remote:/remote/data/ > /var/log/rsync_$(date +%Y%m%d_%H%M%S).log 2>&1 &
  • -z:壓縮數(shù)據(jù),優(yōu)化網(wǎng)絡傳輸。
  • -e ssh:通過SSH連接遠程服務器。

場景3:特定文件移動

只移動特定類型的文件(例如 .txt 文件):

nohup rsync -av --remove-source-files --include '*.txt' --exclude '*' /source/ /destination/ > /var/log/rsync_$(date +%Y%m%d_%H%M%S).log 2>&1 &
  • --include--exclude 組合過濾需要移動的文件。

五、操作步驟

準備工作

  • 確保源路徑和目標路徑存在且可訪問。
  • 創(chuàng)建日志目錄:mkdir -p /var/log/。
  • 檢查權限:對源路徑有讀寫權限,對目標路徑和日志路徑有寫權限。

執(zhí)行命令

  • 輸入命令并運行,任務將在后臺啟動。
  • 查看進程:ps -ef | grep rsync

驗證結果

  • 檢查日志:tail -f /var/log/rsync_*.log,確認同步和刪除操作。
  • 檢查源路徑:確認文件已被刪除。
  • 檢查目標路徑:確認文件已正確同步。

六、--remove-source-files 的工作原理

  • 同步優(yōu)先:只有當文件成功同步到目標路徑后,源文件才會被刪除。
  • 安全性:如果同步失?。ɡ缒繕舜疟P滿或網(wǎng)絡中斷),源文件會保留。
  • 目錄保留:不會刪除源路徑中的空目錄,僅影響文件。

例如:

  • 源目錄 /source/ 包含:
/source/
├── file1.txt
├── file2.txt
└── subdir/
    └── file3.txt

運行 rsync -av --remove-source-files /source/ /dest/ 后:

  • /dest/ 包含所有文件。
  • /source/ 變?yōu)椋?/li>
/source/
└── subdir/
  • 文件被刪除,但目錄結構保留。

七、注意事項

謹慎使用

  • --remove-source-files 會永久刪除源文件,操作前建議備份或測試。
  • 可先用 --dry-run 模擬運行,檢查結果:rsync -av --remove-source-files --dry-run /source/ /dest/。

磁盤空間

  • 確保目標路徑有足夠空間,否則同步失敗,源文件不會刪除。

日志重要性

  • 日志記錄了刪除和同步的細節(jié),若出現(xiàn)問題,可快速定位。

權限問題

  • 源文件刪除需要寫權限,目標路徑寫入需要相應權限。

網(wǎng)絡中斷

  • 遠程同步時,若中斷,rsync 支持續(xù)傳,未完成的文件不會刪除。

八、高級用法

  • 限制帶寬:避免影響網(wǎng)絡,添加 --bwlimit=1000(1MB/s)。

定時任務:結合cron,每天凌晨2點移動文件:

0 2 * * * nohup rsync -av --remove-source-files /source/ /dest/ > /var/log/rsync_$(date +\%Y\%m\%d_\%H\%M\%S).log 2>&1 &

錯誤通知:添加失敗提示:

nohup rsync -av --remove-source-files /source/ /dest/ > /var/log/rsync_$(date +%Y%m%d_%H%M%S).log 2>&1 || echo "Rsync failed" | mail -s "Error" admin@example.com &

總結

通過 nohup--remove-source-files,我們可以安全、高效地將文件從一處移動到另一處,并利用日志記錄整個過程。

這一方法在數(shù)據(jù)遷移、清理舊文件等場景中尤為實用。只要注意權限、空間和備份,就能充分發(fā)揮其優(yōu)勢。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 關于Linux賬號管理詳解

    關于Linux賬號管理詳解

    本文主要針對Linux系統(tǒng)的賬戶管理方便的內(nèi)容做了詳細介紹,以及操作賬戶時的具體做法。
    2017-11-11
  • OneinStack一鍵安裝PHP/JAVA/HHVM和超詳細的VPS手動安裝LNMP的方法

    OneinStack一鍵安裝PHP/JAVA/HHVM和超詳細的VPS手動安裝LNMP的方法

    OneinStack一鍵工具提供多個Tomcat版本(Tomcat-8,Tomcat-7) 和多個JDK版本(JDK-1.8,JDK-1.7,JDK-1.6),支持CentOS 6、7下HHVM安裝。如果還有為無法成功配置好Java或者HHVM環(huán)境而煩惱的話,OneinStack就可以助你一臂之力
    2017-07-07
  • 在Linux服務器上安裝Anaconda超詳細教程

    在Linux服務器上安裝Anaconda超詳細教程

    本文檔詳細介紹了如何在Linux服務器上安裝Anaconda,并創(chuàng)建及激活虛擬環(huán)境,以及如何在環(huán)境中安裝Pytorch,從下載Anaconda安裝包到解決可能出現(xiàn)的bug,再到設置環(huán)境變量和驗證安裝成功,每個步驟都配有清晰的說明和操作指令,需要的朋友可以參考下
    2025-02-02
  • Linux域名服務DNS配置方法

    Linux域名服務DNS配置方法

    DNS 全稱是 Domain Name System,大意是域名解析系統(tǒng),它的職責是把域名翻譯成一個一個可以識別的 IP 供不同的計算機設備連接。這篇文章主要介紹了Linux域名服務DNS配置方法,需要的朋友可以參考下
    2019-08-08
  • Linux下用C獲取當前時間

    Linux下用C獲取當前時間

    本篇文章主要介紹了Linux獲取當前時間的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Unix/Linux系統(tǒng)下的nobody用戶與nologin詳細介紹

    Unix/Linux系統(tǒng)下的nobody用戶與nologin詳細介紹

    linux系統(tǒng)下的nobody用戶是什么用戶,nologin又是什么?本文為大家詳細介紹了這兩個no字輩
    2018-10-10
  • VirtualBox 未指定要bridged的網(wǎng)絡界面的解決辦法

    VirtualBox 未指定要bridged的網(wǎng)絡界面的解決辦法

    這篇文章主要介紹了VirtualBox 未指定要bridged的網(wǎng)絡界面的解決辦法的相關資料,希望通過本文能幫助到大家,讓大家解決遇到這樣的問題,需要的朋友可以參考下
    2017-10-10
  • Unix/Linux fork隱藏的開銷

    Unix/Linux fork隱藏的開銷

    本文通過介紹Unix、fork的由來及早期狀態(tài),展開其隱藏的開銷,對此感興趣的小伙伴不要錯過奧
    2021-08-08
  • Ubuntu16.04安裝Jenkins的方法圖文詳解

    Ubuntu16.04安裝Jenkins的方法圖文詳解

    這篇文章主要介紹了Ubuntu16.04安裝Jenkins,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • linux安裝jdk,tomcat 配置vsftp遠程連接的步驟

    linux安裝jdk,tomcat 配置vsftp遠程連接的步驟

    這篇文章主要介紹了linux安裝jdk,tomcat 配置vsftp遠程連接,需要的朋友可以參考下
    2015-04-04

最新評論