Raspberry PiでRaspbianを実行する際に問題があります。私のSDカードには16GBのスペースしかないので、しばらくすると内部ログは/var/log
SDのすべてのスペースを使います。 Raspberry Piではほとんど何もできないので、/var/log
毎日ディレクトリサイズを確認し、そのデータを含む電子メールを送信してスペースを使いすぎる場合は、いくつかのログを削除できるスクリプトを作成しました。du -h /var/log
私のスクリプトが実行されていないため、問題があります。
これがスクリプトです。
#!/bin/bash
folder=/var/log
folder_size="du -h /var/log"
maxsize=10000000
emailAddr="[email protected]"
while true; do
if [ $folder_size -ge $maxsize ]; then
echo size is over $maxsize kilobytes
subject="DIMENSIONE DELLA CARTELLA $folder HA SUPERATO IL LIMITE!"
echo "La dimensione della cartella $folder ha superato il limite di $maxsize" | mail -s "$subject" $emailAddr
exit
else
echo size is under $maxsize kilobytes
subject="dimensione della cartella $folder"
echo "La dimensione della cartella $folder è di $folder_size - $maxsize" | mail -s "$subject" $emailAddr
fi
sleep 86400 # in seconds = 1 day
done
ベストアンサー1
du -h /var/log
(二重引用符ではなくバックティックまたは$(xxx)を使用する必要があります。)次の出力が返されます。しかし、あなたはサイズを決めたいだけです。
# du -h /var/log
2.6M /var/log/httpd
4.0K /var/log/ntpstats
14M /var/log/sa
4.0K /var/log/mail
26M /var/log/audit
46M /var/log
#
そして実行すると、du -s /var/log
次のような出力が表示されます。
# du -s /var/log
46256 /var/log
#
そのため、カットをパイピングすると、以下のように数値要素を抽出できます。
# du -s /var/log | cut -f1
46256
#
これは、スクリプトの行を次に変更する必要があることを意味します。
folder_size="du -h /var/log"
到着
folder_size=`du -s /var/log | cut -f1`
または、廃止予定の構文を使用してください。
folder_size=$(du -s /var/log | cut -f1)