innobackupex --rsync 报错 Error: can't create file (null)/xtrabackup_rsyncfiles_pass1

在使用最新版的innobackupex(2.3.2):

innobackupex /backup --rsync --user=xx --password=xxx 备份时报错:

Error: can't create file (null)/xtrabackup_rsyncfiles_pass1

网上搜索没有找到答案,于是向官方报告 bug ,发现已经有人汇报了该bug:

https://bugs.launchpad.net/percona-xtrabackup/+bug/1511701

Bug Description

After latest update xtrabackup to 2.3.2 my backup scripts stop working.
Problem in "--rsync" argument. With it in half of "copying X to Y" xtrabackup exit with error message:
~~
can't create file (null)/xtrabackup rsync files pass1
~~

With previous builds all was fine.
Problem command line:
~~
innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=`cat /root/passwords/.mysql` --no-timestamp --throttle=40 --rsync /var/backups/separate_disk/mysql/${WEEK_DAY_NUMBER}f 2>&1
~~

If remove "--rsync" - all work without errors.

P.S. and previous versions uses "root" as default user name. Now it use "mysql" if in command line didn't defined "--user". (Back incompatibility)
Add tags Tag help
Sergei Glushchenko (sergei.glushchenko) wrote on 2015-10-30:     #1

Would specifying --tmpdir=/tmp (or other directory) resolve the rsync issue?
Maxim (sailormax) wrote on 2015-11-01:     #2

yes.
Sergei Glushchenko (sergei.glushchenko) wrote on 2015-11-09:     #3

We'll set tmpdir to system/user default when it is not specified.
Changed in percona-xtrabackup:
status:     New → Triaged
importance:     Undecided → High 

解决办法:

在使用 --rsync 选项时,需要增加 --tmpdir=/tmp 选择,来指定 xtrabackup_rsyncfiles_pass1 临时文件的存储位置:

innobackupex /backup/ --rsync --tmpdir=/tmp --user=xxx --password=xxx
原文地址:https://www.cnblogs.com/digdeep/p/4974084.html