linux 利用nohup來檢測目前備份的情況

執行程式例如備份資料時要跑得比較久,nohup就是你的好朋友!又或者你利用wget抓取一些需要好幾小時才能抓完的檔案時,你也可以利用nohup來幫祝你在離線後繼續抓取。
nohup是什麼?

nohup是由兩個字組成的命令:no-hup,hup指的是SIGHUP(hangup)這個信號,nohup就是忽略SIGHUP這個信號的意思。當我們從一個連線登出的時候,每個process都會收到一個SIGHUP信號,透過nohup所下達的命令就可以不受影響,繼續執行。

nohup如何使用?

nohup最傳統的用法就是在你要執行的命令之前加上nohup,然後在後面加上一個背景執行的 &,像這樣:
# nohup /root/backup.sh &

所有執行產生的輸出,將自動導出到nohup.out。

你可以利用cat察看nohup執行結果
# cat nohup.out

一旦透過nohup執行命令,所有的輸出都會存到檔案,而不是直接顯示在螢幕上。如果你想要看執行結果的話,你可以用 tail 命令加上 -f  參數,讓shell自動為你在檔案有所更新時一併印出,也就是說看起來就好像你在看螢幕上的執行結果一樣:
# tail –f nohup.out


會跑出類似下面這樣的結果
tms_apply/sysdata/page/index/login.modules.json
tms_apply/sysdata/page/service/
tms_apply/sysdata/page/service/auth.modules.json
tms_apply/sysdata/page/service/mailServer.modules.json
tms_apply/sysdata/page/site/
tms_apply/sysdata/page/site/list.modules.json
tms_apply/sysdata/page/site/new.modules.json

sent 618856191 bytes  received 211004 bytes  7690275.71 bytes/sec
total size is 722493455  speedup is 1.17

有時我們需要檢查目前的備份資料流量我們可以利用top、iftop指令進行查詢
# top

top - 09:41:03 up 54 min,  1 user,  load average: 0.00, 0.00, 0.02
Tasks:  87 total,   1 running,  86 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.7%us,  0.5%sy,  0.0%ni, 94.7%id,  4.0%wa,  0.1%hi,  0.0%si,  0.0%st
Mem:   1020288k total,   914204k used,   106084k free,    24708k buffers
Swap:   835580k total,        0k used,   835580k free,   442160k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2452 root      20   0 15052 1152  868 R  2.0  0.1   0:00.01 top
    1 root      20   0 19232 1396 1108 S  0.0  0.1   0:00.47 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.02 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.01 watchdog/0
    7 root      20   0     0    0    0 S  0.0  0.0   0:01.31 events/0
    8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper
   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns
   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr
   12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm
   13 root      20   0     0    0    0 S  0.0  0.0   0:00.02 sync_supers
   14 root      20   0     0    0    0 S  0.0  0.0   0:00.02 bdi-default
   15 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0
   16 root      20   0     0    0    0 S  0.0  0.0   0:00.49 kblockd/0
   17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpid
   18 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_notify
   19 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_hotplug
   20 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ata_aux
   21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ata_sff/0
   22 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksuspend_usbd
   23 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khubd
   24 root      20   0     0    0    0 S  0.0  0.0   0:00.02 kseriod




# iftop
                        12.5Kb                  25.0Kb                   37.5Kb                  50.0Kb             62.5Kb
└───────────────────────┴───────────────────────┴─────────
mgr.anthony.tw                                  => 192.168.1.213                                   3.55Kb  2.93Kb  3.35Kb
                                                <=                                                  160b    160b    200b
192.168.1.255                                   => 192.168.1.12                                       0b      0b      0b
                                                <=                                                  312b    624b    585b
mgr.anthony.tw                                  => 192.168.1.12                                     284b    170b    500b
                                                <=                                                  544b    326b    958b
192.168.1.255                                   => 192.168.1.24                                       0b      0b      0b
                                                <=                                                 1.22Kb   312b    273b
192.168.1.255                                   => 192.168.1.73                                       0b      0b      0b
                                                <=                                                  312b    312b    234b
192.168.1.255                                   => 192.168.1.68                                       0b      0b      0b
                                                <=                                                    0b    187b    195b
192.168.1.255                                   => 192.168.1.27                                       0b      0b      0b
                                                <=                                                  572b    114b     72b
mgr.anthony.tw                                  => 192.168.1.41                                       0b     67b     42b
                                                <=                                                    0b     45b     28b
255.255.255.255                                 => 192.168.1.254                                      0b      0b      0b
                                                <=                                                  532b    106b    230b
192.168.1.255                                   => 192.168.1.34                                       0b      0b      0b
                                                <=                                                    0b    105b     66b
192.168.1.255                                   => 192.168.1.43                                       0b      0b      0b
                                                <=                                                    0b      0b    702b
255.255.255.255                                 => 192.168.1.33                                       0b      0b      0b
                                                <=                                                    0b      0b    164b
192.168.1.255                                   => 192.168.1.23                                       0b      0b      0b
                                                <=                                                    0b      0b    117b
──────────────────────────────────────────────────────────
TX:             cum:   7.77KB   peak:   5.68Kb                                            rates:   3.82Kb  3.17Kb  3.88Kb
RX:                    7.70KB           13.2Kb                                                     3.59Kb  2.24Kb  3.85Kb
TOTAL:                 15.5KB           18.9Kb                                                     7.42Kb  5.40Kb  7.73Kb
 


如此一來我們就知道目前的正在備份中的狀態 ,相關指令應用於幾百G以上的備份中大型資料庫會非常有利於系統維護管理人員檢測

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json