1)ssh远程执行本地脚本,即让远程主机执行本机脚本命令内容。

1 [root@localhost ~]#cat  remtescript.txt
2 cd db_soft/
3 tar -xf  mysql-5.7.17.tar.gz 
4 yum -y install net-tools perl-JSON 
5 [root@localhost ~]# ssh -l root 192.168.4.52 < remtescript.txt
6 或
7 [root@localhost ~]# ssh root@192.168.4.52 < remtescript.txt

 

2)远程备份数据库

[root@localhost ~] # innobackup --defaut-file=/etc/my.cnf --user=root --host=127.0.0.1 --password=root  --no-timestamp  \
  --stream=tar  ./  |  ssh root@192.168.4.52    "cat  -  > /usr/local/xtrbbackup/full/full.tar "

:innobackup命令选项说明:

innobackup命令选项说明:
--defaults-file 
同xtrabackup的--defaults-file参数,指定mysql配置文件; 
 
--apply-log 
对xtrabackup的--prepare参数的封装;
  
--copy-back 
做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir,需先清空原有mysql的数据目录; 

--stream=[tar | xbstream]   
备份文件输出格式, tar时使用tar4ibd , 该文件可在XtarBackup binary文件中获得.
如果备份时有指定--stream=tar, 则tar4ibd文件所处目录一定要在$PATH中(因为使用的是tar4ibd去压缩, 在XtraBackup的binary包中可获得该文件)。
注意:关于--stream说明:
  Percona XtraBackup支持流式备份,将备份以指定的tar或xbstream格式发送到STDOUT,而不是直接将文件复制到备份目录。
  这允许您使用其他程序来过滤备份的输出,为备份的存储提供更大的灵活性。例如,压缩是通过将输出管道输送到压缩实用程序来实现的。流式备份和使用Unix管道的优点之一:备份可以被自动加密。
  使用流式备份,您需要使用--stream参数,指定流式备份格式(tar或xbstream)以及存储临时文件的绝对路径:

        # innobackupex --stream=tar /tmp
    innobackupex在子进程中启动xtrabackup --log-stream模式,并将其日志重定向到临时文件。然后,使用xbstream将所有数据文件以xbstream格式传输到STDOUT。在将所有的数据文件流到STDOUT之后,停止xtrabackup,并将保存的日志文件进行备份。
    xtrabackup在压缩过程中,将使用指定的压缩算法,压缩所有输出数据,除了元数据和非innodb文件。目前仅仅支持quicklz算法。结果文件是qpress压缩格式,即每个*.qp,xtrabackup生成的qp文件本质上是一个单文件的qpress压缩文件,可以从Percona软件存储库中获得qpress压缩文件的提取和解压方式。
    使用xbstream作流式备份选项,可以并行复制和压缩备份,从而大大加快备份过程。如果备份是压缩和加密,首先需要解密,以便不被压缩。

--redo-only --apply-log组,   
强制备份日志时只redo ,跳过rollback。这在做增量备份时非常必要,增量备份需要使用该命令。

--databases=LIST 
列出需要备份的databases,如果没有指定该参数,所有包含MyISAM和InnoDB表的database都会被备份; 

--slave-info, 
备份从库, 加上--slave-info备份目录下会多生成一个xtrabackup_slave_info 文件, 这里会保存主日志文件以及偏移, 文件内容类似于:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0

--socket=SOCKET 
指定mysql.sock所在位置,以便备份进程登录mysql.

注意:正因为  --stream=tar 选项 ,将备份以指定的tar或xbstream格式发送到STDOUT 所以可以使用ssh和管道保存远端。