Installation
Dependencies
transfer.py requires the following technologies
Python 3, preferable 3.7 or later
cumin python class if chosen as the transfer system
Transferpy development requires Python 3.7 or later.
A remote execution system (ssh, paramiko, salt, etc.). If none are available, there is a LocalExecution class, but it will only allow to run commands locally (local transfers)
For cumin, transfer.py must be installed on a cumin* host to be able to execute remote commands
Netcat (nc)
pigz for compression
tar for archiving before streaming
openssl for encryption
du, df to calculate used and available disk size
bash to pipe the different unix commands
wmf-mariadb package and an instance running for –type=xtrabackup
xtrabackup (mariabackup) installed locally on the mariadb hosts for –type=xtrabackup
mysql client if replication wants to be stopped
iptables to manage the firewall hole during transfer
netstat to find the used ports.
tee to help parallel checksum
mkdir, rmdir and rm to create and remove temporary files (eg: create lock directory).
fuser to find the pid related to a port (Currently not using this feature)
Debian package
Add wikimedia-repo to your repo list and do apt install transferpy OR
Refer Download and Install deb package deb package.
Note: transfer.py expect the user to have root privileges without the sudo prefix.