Pomoc Serwer backup

tomaszu1986

Entry Technician
Q Associate
2 Marzec 2023
45
3
8
38
QNAP
TS-x53D
Ethernet
null
Witam. Chciałbym zrobić backup swoich serwerow. Niestety opcja połączenia z ftp HBS 3 nie jest już dostępna. Czy ktoś wie jak teraz tworzy się teho typu kopie?
 
Chciałbym zrobić backup swoich serwerow.
serwer ? a co to ? apple ? Windows ?

co chcesz backupować ?

Niestety opcja połączenia z ftp HBS 3 nie jest już dostępna.
Ktoś chyba nie rzucił oczkiem do AppCenter, serwer FTP jest osobną aplikacją (poza tym .. FTP to zabytek).

Czy ktoś wie jak teraz tworzy się teho typu kopie?
Veeam ?
NetBak PC Agent?
 
serwer ? a co to ? apple ? Windows ?

co chcesz backupować ?


Ktoś chyba nie rzucił oczkiem do AppCenter, serwer FTP jest osobną aplikacją (poza tym .. FTP to zabytek).


Veeam ?
NetBak PC Agent?
Problem w tym, że jeszcze nie wiem gdzie i co szukać.
Mam na hitme.pl kilka ich produktów. Niby tylko przez ftp można backup robić.
Chyba, że ktoś już to testował i zna opcje backupow z hitme.pl?
 
czyli chcesz zrobić kopię z HOSTINGu (czyl masz konto FTP tam), to zmienia bardzooo wiele w Twoim pytaniu.
patrząc na ich dokumentacje , uciekłbym jak najdalej i najszybciej .. nieszyfrowany FTP :(

@Silas Mariusz - czy działa one-way sync z ftp do nasa ?
 
Generalnie nie praktykuje się robienia kopii zapasowej w odwrotną stronę. Po za tym, żeby robić kopie zapasową strony WWW, to trzeba byłoby też bazy danych. Jeśli natomiast strony nie mają bazy danych, to po co robić kopie skoro są statyczne i nic się na nich nie zmienia.

A jeśli są to portale php/mysql, to zazwyczaj i to dotyczy każdych produktów są z reguły moduły/pluginy do backupu via FTP.

QNAP jest mocno używany jako backup hostingu chociażby nawet przez polskie firmy dlatego, że cPanel, Plesk, itp... oferują backup takich vhostów na FTP.

Natomiast backup w odwrotną stronę? Tego się nie praktykuje.
 
Chwila, poprawa w poście. Chciałbym zrobić backup hostingów, które mam na hitme.
A dokładniej nie musiałbym wtedy pisać do nich za każdym razem żeby podmienili pliki z backupu u siebie, tylko od razu poprawić problem ze startu ze swojej strony i działać dalej. Co według Ciebie byłoby najrozsądniejszym rozwiazaniem. Muszę sobie przetestować jak to będzie działać, bo takich kopii jeszcze nie rozbiłem. Albo może jest jakiś wątek już o tym?
 
Domyślam się że chodzi mu o strony www, podstawowe pytanie jest do czego masz dostęp ?
Podłącz się po ftp np przez Winscp zgraj pliki, poszukaj w panelu opcji backupu mysql i zrób kopie wszystkich baz.
Poczte jeśli masz mozesz sobie zaciągnąć przez pop3 do programu pocztowego lub np imapsyc do nowej lokalizacji.
Generalnie jak chcesz to gdzieś migrować to nie wiem czy nie lepiej dac to komuś kto juz takie manewry robił.
Na qnap była appka do backupu wordpress MARS i do poczy qmail agent
 
Raczej chodzi mi o to, kim on jest w tej układance. Bo jeśli programuje te strony, to z jego opisu wynika, że pracuje na produkcji. Czyli nie ma testowego środowiska z hostingiem, na którym mógłby testować strony. I to jest powodem dlaczego pewnie, to operator musi mu coś przywracać z backupu :p

Praca na produkcji + Brak developerskiego/testowego środowiska hostingu w LANie ;p
+ Brak backupów

Niech sobie w phpie napisze skrypt ktory w php ustawia długi execute time, skrypt niech taruje wszystkie pliki, oraz niech wywoluje mysqldump zeby zrobić zrzut bazy i niech mu to gdzieś wysyła na ftp.

Podpowiedź z chatGPT:
PHP:
<?php

# --- Database Configuration ---
$db_host     = 'localhost';
$db_user     = 'your_db_user';
$db_pass     = 'your_db_password';
$db_name     = 'your_db_name';
$backup_path = '/path/to/your/backup/directory'; // Make sure this directory exists and is writable

# --- FTP Configuration ---
$ftp_host = 'your_ftp_server';
$ftp_user = 'your_ftp_user';
$ftp_pass = 'your_ftp_password';
$ftp_path = '/path/to/remote/backup/directory';  // Remote FTP directory

# --- File Paths ---
$db_backup_file = $backup_path . '/' . $db_name . '_' . date('Ymd_His') . '.sql.gz';
$webspace_backup_file = $backup_path . '/' . 'webspace_backup_' . date('Ymd_His') . '.tar.gz';

# --- Create Backup Directory if it doesn't exist ---
if (!is_dir($backup_path)) {
    mkdir($backup_path, 0777, true);
}

# --- 1. Backup the MySQL Database ---
$command = "mysqldump --host={$db_host} --user={$db_user} --password={$db_pass} {$db_name} | gzip > {$db_backup_file}";
exec($command, $output, $return_var);

if ($return_var !== 0) {
    die("Database backup failed. Error: " . implode("\n", $output));
}

# --- 2. Compress the webspace (using a separate script or command) ---
# This is a simplified example; adjust the paths and commands as needed.
$webspace_dir = '/path/to/your/webspace'; // Replace with your webspace root directory
$tar_command = "tar -czvf {$webspace_backup_file} -C " . escapeshellarg($webspace_dir) . " .";
exec($tar_command, $webspace_output, $webspace_return_var);

if ($webspace_return_var !== 0) {
  die("Webspace backup failed. Error: " . implode("\n", $webspace_output));
}


# --- 3. FTP Upload ---
$conn_id = ftp_connect($ftp_host);
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);

if ((!$conn_id) || (!$login_result)) {
    die("FTP connection has failed!");
}

// Create remote directory if it doesn't exist
if (!@ftp_chdir($conn_id, $ftp_path)) {
  if (!ftp_mkdir($conn_id, $ftp_path)) {
    die("Could not create remote directory: " . $ftp_path);
  }
  ftp_chdir($conn_id, $ftp_path); // Change back to newly created directory.
}


if (ftp_put($conn_id, basename($db_backup_file), $db_backup_file, FTP_BINARY)) {
    echo "Database backup uploaded successfully to {$ftp_path} as " . basename($db_backup_file) . "\n";
    unlink($db_backup_file); // Delete local backup file
} else {
    echo "There was a problem uploading the database backup\n";
}

if (ftp_put($conn_id, basename($webspace_backup_file), $webspace_backup_file, FTP_BINARY)) {
    echo "Webspace backup uploaded successfully to {$ftp_path} as " . basename($webspace_backup_file) . "\n";
    unlink($webspace_backup_file); // Delete local backup file
} else {
    echo "There was a problem uploading the webspace backup\n";
}

ftp_close($conn_id);

echo "Backup process completed.\n";

?>

...
https://www.cyberciti.biz/tips/how-...rver-files-to-a-ftp-server-automatically.html
 
Kto pisze/edytuje/modyfikuje strony? Operator hostingu czy Ty?
Ten drugi, o którym piszesz to ja😄
Połączono posty:

Domyślam się że chodzi mu o strony www, podstawowe pytanie jest do czego masz dostęp ?
Podłącz się po ftp np przez Winscp zgraj pliki, poszukaj w panelu opcji backupu mysql i zrób kopie wszystkich baz.
Poczte jeśli masz mozesz sobie zaciągnąć przez pop3 do programu pocztowego lub np imapsyc do nowej lokalizacji.
Generalnie jak chcesz to gdzieś migrować to nie wiem czy nie lepiej dac to komuś kto juz takie manewry robił.
Na qnap była appka do backupu wordpress MARS i do poczy qmail agent
Net Back Agent widać, że będzie pasować. Ale warto popytać 😄
 
No to Panie kochany kłania się inny schemat. Powinieneś pracować na środowisku testowym, a kiedy to jest gotowe powinieneś robić push na produkcję. Tak to powinno wyglądać w praktyce. I wtedy backupy i wersjonowanie jest po Twojej stronie.

Developerka na produkcji to bardzo zły nawyk.
 
Raczej chodzi mi o to, kim on jest w tej układance. Bo jeśli programuje te strony, to z jego opisu wynika, że pracuje na produkcji. Czyli nie ma testowego środowiska z hostingiem, na którym mógłby testować strony. I to jest powodem dlaczego pewnie, to operator musi mu coś przywracać z backupu :p

Praca na produkcji + Brak developerskiego/testowego środowiska hostingu w LANie ;p
+ Brak backupów

Niech sobie w phpie napisze skrypt ktory w php ustawia długi execute time, skrypt niech taruje wszystkie pliki, oraz niech wywoluje mysqldump zeby zrobić zrzut bazy i niech mu to gdzieś wysyła na ftp.

Podpowiedź z chatGPT:
PHP:
<?php

# --- Database Configuration ---
$db_host     = 'localhost';
$db_user     = 'your_db_user';
$db_pass     = 'your_db_password';
$db_name     = 'your_db_name';
$backup_path = '/path/to/your/backup/directory'; // Make sure this directory exists and is writable

# --- FTP Configuration ---
$ftp_host = 'your_ftp_server';
$ftp_user = 'your_ftp_user';
$ftp_pass = 'your_ftp_password';
$ftp_path = '/path/to/remote/backup/directory';  // Remote FTP directory

# --- File Paths ---
$db_backup_file = $backup_path . '/' . $db_name . '_' . date('Ymd_His') . '.sql.gz';
$webspace_backup_file = $backup_path . '/' . 'webspace_backup_' . date('Ymd_His') . '.tar.gz';

# --- Create Backup Directory if it doesn't exist ---
if (!is_dir($backup_path)) {
    mkdir($backup_path, 0777, true);
}

# --- 1. Backup the MySQL Database ---
$command = "mysqldump --host={$db_host} --user={$db_user} --password={$db_pass} {$db_name} | gzip > {$db_backup_file}";
exec($command, $output, $return_var);

if ($return_var !== 0) {
    die("Database backup failed. Error: " . implode("\n", $output));
}

# --- 2. Compress the webspace (using a separate script or command) ---
# This is a simplified example; adjust the paths and commands as needed.
$webspace_dir = '/path/to/your/webspace'; // Replace with your webspace root directory
$tar_command = "tar -czvf {$webspace_backup_file} -C " . escapeshellarg($webspace_dir) . " .";
exec($tar_command, $webspace_output, $webspace_return_var);

if ($webspace_return_var !== 0) {
  die("Webspace backup failed. Error: " . implode("\n", $webspace_output));
}


# --- 3. FTP Upload ---
$conn_id = ftp_connect($ftp_host);
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);

if ((!$conn_id) || (!$login_result)) {
    die("FTP connection has failed!");
}

// Create remote directory if it doesn't exist
if (!@ftp_chdir($conn_id, $ftp_path)) {
  if (!ftp_mkdir($conn_id, $ftp_path)) {
    die("Could not create remote directory: " . $ftp_path);
  }
  ftp_chdir($conn_id, $ftp_path); // Change back to newly created directory.
}


if (ftp_put($conn_id, basename($db_backup_file), $db_backup_file, FTP_BINARY)) {
    echo "Database backup uploaded successfully to {$ftp_path} as " . basename($db_backup_file) . "\n";
    unlink($db_backup_file); // Delete local backup file
} else {
    echo "There was a problem uploading the database backup\n";
}

if (ftp_put($conn_id, basename($webspace_backup_file), $webspace_backup_file, FTP_BINARY)) {
    echo "Webspace backup uploaded successfully to {$ftp_path} as " . basename($webspace_backup_file) . "\n";
    unlink($webspace_backup_file); // Delete local backup file
} else {
    echo "There was a problem uploading the webspace backup\n";
}

ftp_close($conn_id);

echo "Backup process completed.\n";

?>

...
https://www.cyberciti.biz/tips/how-...rver-files-to-a-ftp-server-automatically.html
Dzięki sliczne, może się przyda
Połączono posty:

No to Panie kochany kłania się inny schemat. Powinieneś pracować na środowisku testowym, a kiedy to jest gotowe powinieneś robić push na produkcję. Tak to powinno wyglądać w praktyce. I wtedy backupy i wersjonowanie jest po Twojej stronie.

Developerka na produkcji to bardzo zły nawyk.
Zgadzam się z Tobą i władnie teraz tak robie. Wcześniejsi specjaliści nie do końca dobrze kontrolowali temat.
A jak mam Nas-a to warto aby również do tego się przydał.
 

Użytkownicy znaleźli tą stronę używając tych słów:

  1. Mars