2015-12-03 25 views
1

我想實現一個腳本,該腳本可以查找/ home目錄中所有用戶的磁盤使用情況,並通過電子郵件發送任何文件大於內存限制的用戶我們確定)。之後,腳本必須向根管理員發送消息並將用戶名(任何文件大於限制的用戶)寫入文件中。首先,我需要使用以下格式搜索.txt文件: 用戶名:電子郵件並保存用戶名和電子郵件在2 variables.So我的劇本有做到這一點Linux Shell腳本查找磁盤使用情況和電子郵件用戶的文件大於限制

:.. for every_user do 
       du -sh /home/$USERNAME #$username read from .txt file 
       if [ $USED -gt $LIMIT ] 
       #email user to mail read from .txt file 

我還發現命令隔離的用戶名,將其保存到變量:

echo $line |awk -F ":" '{print $1}' 
+0

我99%確定這已經被問過。嘗試搜索'[bash] du mailx'(和其他郵件代理)。祝你好運。 – shellter

+0

在Linux上,每個用戶的郵件存儲將在* inbox *和*/var/spool/mail/username之間拆分,並且用戶在郵件目錄下的郵件(通常是「〜/ Mail」或「〜」/mail')。所有存儲的賬戶創始人等將駐留在那裏。如果你在'〜/'下有一個標準的郵件目錄,那麼你可以簡單地使用'du'兩次(一次在'/ var/spool/mail/username'和'〜/ Mail')用戶。 –

回答

1

下面的命令將幫助你找到大文件

find/-type f -size +20M -exec ls -lh {} \; | awk '{ print $NF ": " $5 }' 

到位+ 20M的,你可以把你的變量$限制

郵件功能,可用於發送郵件

相關問題