find and du

เนื่องจากต้องการลบไฟล์เก่าๆ บนเครื่อง Windows Server ที่ไม่มีการเข้าถึงอย่างน้อย 2 ปี ซึ่งบน Windows ไม่รู้เหมือนกันว่าใช้คำสั่ง XCOPY สามารถค้นหาไฟล์โดยระบุวันที่ได้หรือไม่ และทำการ COPY ได้หรือเปล่า จริงๆ แล้วอาจจะมี Apps สำหรับ Windows ก็ได้ แต่ผมไม่เลือกวิธีนี้ เพราะส่วนมากแล้วทำงานบนเครื่อง Linux มากกว่า.

[hana-code-insert name=’AdSense’ /]

เริ่มเราก็ Login ที่เครื่อง Linux จากนั้นทำการ SMB ไปที่พาร์ติชั่นที่แชร์ไว้บน Windows จากนั้นคลิกขวามือเลือก Open in Terminal (openSUSE 11.2 เท่านั้นสามารถทำวิธีการนี้ได้) จากนั้นใช้คำสั่ง cd เข้าไปยัง Directory ที่ต้องการ

ซึ่งสิ่งที่ผมต้องการก็คือ

1. ต้องการค้นหาไฟล์ที่ไม่มีการเข้าถึงอย่างน้อย 2 ปี

2. ต้องการรู้พื้นที่ไฟล์ร่วมทั้งหมดของไฟล์ ที่ไม่มีการเข้าถึงอย่างน้อย 2 ปี

3. ทำการสำรองไฟล์ไปยัง Directory ที่ต้องการ

4. ทำการลบไฟล์ที่ไม่มีการเข้าถึงอย่างน้อย 2 ปี

Solution:

ข้อที่ 1: //www.susethailand.com/suseforum/index.php?topic=1055.0

ข้อที่ 2:

$ find . -type f -mtime +730 -exec du -b {} \; | awk ‘{total += $1; print $0} END{print total}’ > /root/Desktop/delete-sum.txt

ข้อที่ 3: //www.susethailand.com/suseforum/index.php?topic=1096.0

ข้อที่ 4: //www.susethailand.com/suseforum/index.php?topic=1055.0

ดูชื่อไฟล์ที่ลบแล้ว และพื้นที่ทั้งหมดได้ที่ไฟล์ delete-sum.txt ซึ่งจะมีค่าเป็น bytes จากนั้นเราก็ใช้เครื่องมือข้างล่างเพื่อคำนวณออกมีเป็นค่า MB หรือ GB เราก็จะรู้ว่าไฟล์ที่ลบไปทั้งหมดอยู่ประมาณ …GB

[hana-code-insert name=’AdSense’ /]

Tool for Calculator
//www.matisse.net/bitcalc/