2020年05月15日

[Linux] 繰り返しコマンドを実行する

【 while 】コマンド――繰り返し処理を行う:Linux基本コマンドTips(219) - @IT

watch の書き方はシンプルでよいのですが、複数コマンド書くなら while ですね。

150秒おきに特定のストレージの容量を表示するコマンド:

[~] # while true ; do date; df -h | grep "DEV1_DATA$"; sleep 150 ; done;
Fri May 15 23:33:30 JST 2020
4.1T 142.1G 4.0T 3% /share/CACHEDEV1_DATA
Fri May 15 23:36:00 JST 2020
4.1T 156.4G 4.0T 4% /share/CACHEDEV1_DATA
Fri May 15 23:38:30 JST 2020
4.1T 170.9G 4.0T 4% /share/CACHEDEV1_DAT
Filesystem Size Used Available Use% Mounted on

NASのデータをお引越し中。

[~] # df
Filesystem Size Used Available Use% Mounted on
none 400.0M 269.8M 130.2M 67% /
devtmpfs 1.8G 8.0K 1.8G 0% /dev
tmpfs 64.0M 400.0K 63.6M 1% /tmp
tmpfs 1.9G 132.0K 1.9G 0% /dev/shm
tmpfs 16.0M 0 16.0M 0% /share
tmpfs 16.0M 0 16.0M 0% /mnt/snapshot/export
/dev/md9 493.5M 133.3M 360.2M 27% /mnt/HDA_ROOT
cgroup_root 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cachedev1
4.1T 190.4G 3.9T 4% /share/CACHEDEV1_DATA
/dev/md13 417.0M 404.9M 12.1M 97% /mnt/ext
tmpfs 16.0M 84.0K 15.9M 1% /share/CACHEDEV1_DATA/.samba/lock/msg.lock
tmpfs 16.0M 0 16.0M 0% /mnt/ext/opt/samba/private/msg.sock
/dev/sdc3 2.7T 1.7T 1.0T 62% /share/external/DEV3303_3

とはいっても、そんなに大容量ドライブではなくて、6TB の RAID1 です。
rsync とか、NAS越しでCopyするとめっちゃ遅いから、いつも USB直つなぎにして、以下のようなコマンドで コピーしてます。

cd /share/CACHEDEV1_DATA/nasdata5
cp -r --preserve=mode,timestamps /share/external/DEV3303_3/nasdata4/* .

明日のお昼前には終わるかな、、、

コピーの進捗確認用としては、とりあえず以下のコマンドを暫定版にする。

SECONDS=0
で初期化してから実行すると
経過秒数+現在時刻+ストレージサイズ を、2分半ごとに 1行に結合して表示する

[~] # while true ;do echo -n "Elapsed Seconds = $SECONDS, " ;echo -n `date` " | " ; df -h | grep "DEV1_DATA$"| sed -e 's/^[ ]*//g'; sleep 150 ; done;
Elapsed Seconds = 892, Sat May 16 00:06:38 JST 2020 | 4.1T 335.4G 3.8T 8% /share/CACHEDEV1_DATA


・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ