Сама файловая система, скорее всего, не может быть скопирована онлайн, так как она постоянно меняется.
Вы можете легко скопировать файлы, сохранив практически все в каждом файле, внутри файловой системы. Попробуйте rsync с вашего выделенного сервера:
rsync -avzHXShPs --exclude sys/ --exclude dev/ --exclude proc/ root@VPS:/ /path/to/backup_folder/
где VPS - это IP-адрес вашего VPS, а /path/to/backup_folder/ - это папка назначения на вашем выделенном сервере.
Если ваш VPS имеет другой порт SSH, вы можете сделать это:
rsync -avzHXShPs -e "ssh -p PORT" --exclude sys/ --exclude dev/ --exclude proc/ root@VPS:/ /path/to/backup_folder/
где PORT - номер пользовательского порта.
Если вы хотите передать какие-либо измененные файлы с момента начала передачи файла, просто повторите ту же команду. Если файлы были удалены из VPS, и вы хотите, чтобы удаленные файлы были удалены из резервной копии на вашем выделенном сервере, просто добавьте флаг --delete в строку rsync .
объяснение
флаги rsync
-a означает "архив", который содержит большинство настроек для создания почти точных копий всех файлов в указанной папке (в вашем случае, / на VPS).
-v означает "многословный". Он покажет вам подробную информацию о том, что копируется.
-z означает "сжатие", что полезно при копировании по сети, поскольку скорость сети часто ниже, чем у дисков, и вы можете сэкономить время, отправляя сжатые данные по сети.
-H означает "жесткие ссылки", которые сохраняют жесткие ссылки, если они важны для вас.
-X означает "расширенные атрибуты", которые сохраняют расширенные атрибуты. Это работает не на всех файловых системах, но rsync продолжит работу, даже если при копировании расширенных атрибутов возникнут ошибки.
-S означает "разреженный", что очень полезно для ускорения передачи файлов, содержащих набор двоичных нулей.
-h означает "читаемый человеком", который выводит читаемую человеком информацию во время передачи.
-s означает "защитить аргументы", полезно только в том случае, если в аргументах вашего источника или получателя есть пробелы в пути.
У меня есть горячая клавиша для ввода этой строки rsync потому что я много копирую данные, и большую часть времени удобно иметь все эти флаги.
rsync исключает
--exclude sys/ исключает монтирование sysfs в /sys . Без этого вы можете столкнуться с некоторыми странностями, такими как бесконечная рекурсия или файлы бесконечного размера.
--exclude dev/ исключает монтирование devtmpfs в /dev , которое не будет полезно на вашем выделенном сервере (и даже может представлять угрозу безопасности), поскольку устройства на двух разных серверах совершенно разные.
--exclude proc/ исключает монтирование proc в /proc . Системная информация в этой папке относится только к исходному серверу.