Transfer big data

This commit is contained in:
fogelito
2023-07-27 14:55:25 +03:00
parent 55a6732444
commit b2c7a3eb33
2 changed files with 54 additions and 2 deletions
+15 -1
View File
@@ -622,6 +622,20 @@ services:
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
- _APP_MAINTENANCE_RETENTION_SCHEDULES
xtrabackup:
image: percona/percona-xtrabackup:latest
container_name: appwrite-xtrabackup
command: sleep infinity
#command: bash -c "sleep 86400"
environment:
- MYSQL_ROOT_PASSWORD=${_APP_DB_ROOT_PASS}
volumes:
- xtrabackup_data:/backups
- appwrite-mariadb:/var/lib/mysql:r
networks:
- appwrite
user: 'root:root'
appwrite-backup:
entrypoint: db-backup
<<: *x-logging
@@ -753,7 +767,6 @@ services:
- appwrite
volumes:
- appwrite-mariadb:/var/lib/mysql:rw
- ./mysql-init.sql:/mysql-init.sql:rw
ports:
- "3306:3306"
environment:
@@ -936,4 +949,5 @@ volumes:
appwrite-config:
appwrite-functions:
appwrite-builds:
xtrabackup_data:
# appwrite-chronograf:
+39 -1
View File
@@ -72,6 +72,8 @@ class Backup extends Action
self::stopMysqlContainer($this->containerName);
Console::exit();
$stdout = '';
$stderr = '';
// Tar from inside the mysql directory for not using --strip-components
@@ -184,7 +186,7 @@ class Backup extends Action
}
}
public static function stopMysqlContainer($name): void
public static function stopMysqlContainer1($name): void
{
$stdout = '';
$stderr = '';
@@ -216,4 +218,40 @@ class Backup extends Action
Console::exit();
}
}
public static function stopMysqlContainer($name): void
{
$stdout = '';
$stderr = '';
Console::execute('docker exec appwrite-mariadb echo "hello"', '', $stdout, $stderr);
var_dump($stderr);
var_dump($stdout);
$stdout = '';
$stderr = '';
Console::execute('docker exec appwrite-mariadb mysql -uroot -prootsecretpassword -e "LOCK INSTANCE FOR BACKUP;"', '', $stdout, $stderr);
var_dump($stderr);
var_dump($stdout);
$stdout = '';
$stderr = '';
Console::execute('docker exec appwrite-mariadb mysql -uroot -prootsecretpassword -e "FLUSH TABLES WITH READ LOCK;"', '', $stdout, $stderr);
var_dump($stderr);
var_dump($stdout);
Console::loop(function () {
self::log('loop');
}, 100);
Console::exit();
}
}