1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<code>#!/bin/bash</code>
<code>#Description: delete files</code>
<code>#=====定義目前年份,月份以及檔案所在目錄=====#</code>
<code>currentYear=`</code><code>date</code> <code>+%Y` </code>
<code>currentMonth=`</code><code>date</code> <code>+%m |</code><code>awk</code> <code>-F</code><code>'0'</code> <code>'{print $2}'</code><code>` </code>
<code>videodir=</code><code>/var/video</code>
<code>#======定義一個轉換函數,用于将月份縮寫轉換為數字表示========#</code>
<code>function</code> <code>month2num(){</code>
<code>case</code> <code>$file_month </code><code>in</code>
<code>Jan)</code>
<code>file_month=1</code>
<code>;;</code>
<code>Feb)</code>
<code>file_month=2</code>
<code>Mar)</code>
<code>file_month=3</code>
<code>Apr)</code>
<code>file_month=4</code>
<code>May)</code>
<code>file_month=5</code>
<code>Jun)</code>
<code>file_month=6</code>
<code>Jul)</code>
<code>file_month=7</code>
<code>Aug)</code>
<code>file_month=8</code>
<code>Sep)</code>
<code>file_month=9</code>
<code>Oct)</code>
<code>file_month=10</code>
<code>Nov)</code>
<code>file_month=11</code>
<code>Dec)</code>
<code>file_month=12</code>
<code>*)</code>
<code>echo</code> <code>"Oh,Are you kidding me?!"</code>
<code>exit</code> <code>1</code>
<code>esac</code>
<code>}</code>
<code>#=====定義上一年年份以及上一年的所有檔案清單=====#</code>
<code>lastYear=$[$currentYear-1] </code>
<code>lastYearFiles=`</code><code>/bin/ls</code> <code>-l $videodir/ |</code><code>grep</code> <code>$lastYear |</code><code>awk</code> <code>-F</code><code>' '</code> <code>'{print $9}'</code><code>`</code>
<code>#===== 删除上一年的檔案,今天為2013年5月,則删除2012年5月之前的所有檔案(1-4月)=====#</code>
<code>for</code> <code>lastfile </code><code>in</code> <code>`</code><code>echo</code> <code>$lastYearFiles` </code>
<code>do</code>
<code>file_month=`</code><code>/bin/ls</code> <code>-l $videodir/$lastfile |</code><code>awk</code> <code>-F</code><code>' '</code> <code>'{print $6}'</code><code>`</code>
<code>month2num</code>
<code>if</code> <code>[ $file_month -lt $currentMonth ]</code>
<code>then</code>
<code>rm</code> <code>-rf $videodir/$lastfile</code>
<code>fi</code>
<code>done</code>
<code>#=====删除非上一年以及非今年的所有檔案=====#</code>
<code>otherYearFiles=`</code><code>/bin/ls</code> <code>-l $videodir/ |</code><code>grep</code> <code>-</code><code>v</code> <code>$lastYear |</code><code>awk</code> <code>-F</code><code>' '</code> <code>'{print $9}'</code><code>`</code>
<code>for</code> <code>otherfile </code><code>in</code> <code>`</code><code>echo</code> <code>$otherYearFiles`</code>
<code>file_year_format=`</code><code>/bin/ls</code> <code>-l $videodir/$otherfile |</code><code>awk</code> <code>-F</code><code>' '</code> <code>'{print $8}'</code><code>|</code><code>wc</code> <code>-c`</code>
<code>if</code> <code>[ $file_year_format -</code><code>eq</code> <code>5 ]</code>
<code>rm</code> <code>-rf $videodir/$otherfile</code>
本文轉自 暗黑魔君 51CTO部落格,原文連結:http://blog.51cto.com/clovemfong/1197493,如需轉載請自行聯系原作者