首页 > 代码库 > 使用pv协助备份数据库

使用pv协助备份数据库

1.1.   安装和帮助

PV 全命为Pipe Viewer,利用它我们可以查看到命令执行的进度。

# wgethttp://www.ivarch.com/programs/sources/pv-1.5.3.tar.bz2

# tar xjfpv-1.1.4.tar.bz2

# cdpv-1.1.4

#./configure

# make&& make install

 

例:需要将/home/opt 目录下打包文件名称为opt@yy-mm-dd.

# tar -p -cf - /home/opt | pv --size `du -sk /home/opt | cut -f 1`k | gzip>/home/opt@`date +%y-%m-%d`.tar.gz

 

[root@gfsunny105pv-1.5.7]# pv --help

Usage: pv[OPTION] [FILE]...

ConcatenateFILE(s), or standard input, to standard output,

withmonitoring.

 

  -p, --progress           show progress bar

  -t, --timer              show elapsed time

  -e, --eta                show estimated time of arrival(completion)

  -r, --rate               show data transfer rate counter

  -a, --average-rate       show data transfer average rate counter

  -b, --bytes              show number of bytes transferred

  -T, --buffer-percent     show percentage of transfer buffer in use

  -A, --last-written NUM   show NUM bytes last written

  -F, --format FORMAT      set output format to FORMAT

  -n, --numeric            output percentages, not visualinformation

  -q, --quiet              do not output any transferinformation at all

 

  -W, --wait               display nothing until first bytetransferred

  -s, --size SIZE          set estimated data size to SIZE bytes

  -l, --line-mode          count lines instead of bytes

  -0, --null               lines are null-terminated

  -i, --interval SEC       update every SEC seconds

  -w, --width WIDTH        assume terminal is WIDTH characters wide

  -H, --height HEIGHT      assume terminal is HEIGHT rows high

  -N, --name NAME          prefix visual information with NAME

  -f, --force              output even if standard error isnot a terminal

  -c, --cursor             use cursor positioning escapesequences

 

  -L, --rate-limit RATE    limit transfer to RATE bytes per second

  -B, --buffer-size BYTES  use a buffer size of BYTES

  -C, --no-splice          never use splice(), always useread/write

  -E, --skip-errors        skip read errors in input

  -S, --stop-at-size       stop after --size bytes have beentransferred

  -R, --remote PID         update settings of process PID

 

  -P, --pidfile FILE       save process ID in FILE

 

  -d, --watchfd PID[:FD]   watch file FD opened by process PID

 

  -h, --help               show this help and exit

  -V, --version            show version information and exit

1.2.   协助备份数据库

 

[root@gfsunny105mysql_tools]# mysqldump -uroot -p123456 --single-transaction --databases accounts |pv -q -L 10m |gzip>accounts.gzip

Warning:Using a password on the command line interface can be insecure.

[root@gfsunny105mysql_tools]# gunzip -fc accounts.gzip |mysql -uroot -p accounts

Enterpassword: 

-- pv在这里做限流左右


使用pv协助备份数据库