RSS   


[TWed2k]我們也來玩時光膠囊,相約十年後!


  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [問題]用Shell script自動建立相同屬性的路徑資料夾   字型大小:||| 
saltire
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
御姊萌妹美少女推倒委員長

今日心情

 . 積分: 728
 . 精華: 3
 . 文章: 4461
 . 收花: 4234 支
 . 送花: 28697 支
 . 比例: 6.78
 . 在線: 2169 小時
 . 瀏覽: 34477 頁
 . 註冊: 6008
 . 失蹤: 3
 . 宇宙殖民地
#1 : 2016-3-10 03:17 PM     只看本作者 引言回覆

請教一下
剛接觸Linux, 我想用Shell script做出以下功能
--
假設資料夾的PATH=/usr/lib64/samba
假設/usr的屬性是777
假設/usr/lib64的屬性是755
假設/usr/lib64/samba的屬性是705
然後我想建立出/root/backup/usr/lib64/samba的路徑資料夾
其中
/root/backup/usr的屬性是777 (裡面只有lib64資料夾)
/root/backup/usr/lib64的屬性是755 (裡面只有samba資料夾)
/root/backup/usr/lib64/samba的屬性是705 (裡面沒有任何檔案和資料夾)
也就是說跟原始對應的資料夾屬性是相同的
而且是只能建立出資料夾 不能把原始對應的資料夾裡的檔案也一起複製過去
--
不知道版上有沒有人可以教一下這樣的Shell script要怎麼寫
謝謝



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
watchme
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
無我

十週年紀念徽章(五級)  

今日心情

 . 積分: 919
 . 文章: 2170
 . 收花: 7990 支
 . 送花: 3345 支
 . 比例: 0.42
 . 在線: 3388 小時
 . 瀏覽: 25792 頁
 . 註冊: 5250
 . 失蹤: 0
 . TWed2k-DVD幫
#2 : 2016-3-14 06:45 PM     只看本作者 引言回覆

版主 MU : 感謝您無私的分享

評分:+1   
rsync -o -r --include='*/' --exclude='*' SRC DST

-o 可以保留 Owner,其他屬性可以參考 rsync --help



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
saltire
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
御姊萌妹美少女推倒委員長

今日心情

 . 積分: 728
 . 精華: 3
 . 文章: 4461
 . 收花: 4234 支
 . 送花: 28697 支
 . 比例: 6.78
 . 在線: 2169 小時
 . 瀏覽: 34477 頁
 . 註冊: 6008
 . 失蹤: 3
 . 宇宙殖民地
#3 : 2016-3-15 01:10 PM     只看本作者 引言回覆


引用:
watchme寫到:
rsync -o -r --include='*/' --exclude='*' SRC DST

-o 可以保留 Owner,其他屬性可以參考 rsync --help

這樣下指令的話 會自動把其他不相關的資料夾也一起複製
我只需要自動建立出/usr/lib64/samba/ 這樣的架構



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
watchme
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14
無我

十週年紀念徽章(五級)  

今日心情

 . 積分: 919
 . 文章: 2170
 . 收花: 7990 支
 . 送花: 3345 支
 . 比例: 0.42
 . 在線: 3388 小時
 . 瀏覽: 25792 頁
 . 註冊: 5250
 . 失蹤: 0
 . TWed2k-DVD幫
#4 : 2016-3-17 07:07 AM     只看本作者 引言回覆

--include "*/" 包含資料夾
--exclude "*" 排除所有檔案

我用 debian 跑過,是只有資料夾過去而已,再試看看



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
ianroo
鍛鐵驢友
等級: 7等級: 7等級: 7
傻蛋一枚

今日心情

 . 積分: 86
 . 文章: 196
 . 收花: 530 支
 . 送花: 1753 支
 . 比例: 3.31
 . 在線: 1565 小時
 . 瀏覽: 25424 頁
 . 註冊: 5983
 . 失蹤: 0
 . tw
#5 : 2016-4-22 11:27 PM     只看本作者 引言回覆

也可以試試用tar 打包
tar czvpf filename.tar.gz /usr/lib64/samba

解壓縮時用
sudo tar xzvpf filename.tar.gz --same-owner

[更新]
上述是包含檔案的一種備份方式
抱歉沒看清楚不需要複製檔案,那我就沒什麼好辦法提供了
如果可以接受連檔案一起複製,再將檔案刪除的話
sudo rm -f $(find /root/usr/lib64/samba -type f)

[ianroo 在  2016-4-22 11:32 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 135
 . 文章: 407
 . 收花: 1068 支
 . 送花: 59 支
 . 比例: 0.06
 . 在線: 1594 小時
 . 瀏覽: 13371 頁
 . 註冊: 4883
 . 失蹤: 0
 . 馬來西亞
#6 : 2016-11-16 09:31 AM     只看本作者 引言回覆

tar 打包過去, 再 find --type f 刪除所有檔案

參考這個吧! 我是沒去測試:
http://www.unixlore.net/articles ... ies-with-rsync.html



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2018-11-13 02:41 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.023635 second(s), 8 queries , Qzip disabled