find and du

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

เริ่มเราก็ 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

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