Todos os produtos
Search
Central de documentação

Elastic Compute Service:Back up files on a local disk

Última atualização: Jul 03, 2026

Faça backups regulares dos arquivos do disco local com o Cloud Backup, OSS, discos em nuvem ou NAS para evitar perda de dados.

Importante

Este tópico aplica-se apenas ao backup de arquivos em um disco local. Se o disco local armazena um banco de dados e você precisa fazer backup dele, consulte Fazer backup de bancos de dados autogerenciados no ECS.

Método 1: Usar o Cloud Backup

Cenário

Limite

Benefício

Faturamento

O Cloud Backup oferece suporte a backups regulares de arquivos ou diretórios em instâncias ECS (como discos locais ou bancos de dados Oracle/MySQL/SQL Server autogerenciados) e à restauração de dados quando necessário. Recomendado para cenários que exigem backup altamente confiável. Consulte Vantagens do Cloud Backup?

  • O Cloud Backup não está disponível em todas as regiões. Consulte Regiões suportadas.

  • O Cloud Assistant Agent deve estar instalado na instância.

  • Baseado em SaaS, prático e eficiente

  • Dispensa scripts

  • Deduplicação e compactação no nível de arquivo para reduzir custos de armazenamento

  • Suporte a backup e recuperação

Há cobrança pelo uso do software de backup de arquivos e pela capacidade de armazenamento. Consulte Taxas de backup de arquivos do ECS.

Procedimento

  1. Preparativos.

    • Verifique se o Cloud Backup tem suporte na região do disco local. Consulte Regiões suportadas.

    • Confirme se o Cloud Assistant Agent está instalado na instância.

      Importante

      Instâncias adquiridas após 1º de dezembro de 2017 já incluem o Cloud Assistant Agent por padrão. Caso não esteja instalado, consulte Instalar o Cloud Assistant Agent.

  2. Faça login no console do Cloud Backup e selecione a região do disco local.

  3. No painel de navegação à esquerda, escolha Backup > ECS File Backup. Na aba ECS Instances, localize a instância com o disco local e clique em Backup na coluna Actions.

    image

  4. No painel Create Backup Plan, configure os parâmetros conforme solicitado e clique em OK.

    Observe as configurações a seguir. Para outros parâmetros, consulte Criar um plano de backup para fazer backup periódico de arquivos do ECS:

    • Backup Folder Rule: Selecione Specified Folders.

    • Source Paths: Caminho absoluto dos dados do disco local a serem copiados. É possível inserir vários caminhos. Para regras, consulte as instruções na tela.

    • Backup Policy: Selecione uma política que especifique o horário, o ciclo e o período de retenção do backup. Se não houver nenhuma política, crie uma primeiro. Consulte Criar uma política de backup.

    No horário agendado, o sistema executa o job de backup. Se o Status exibir Completed, o backup foi concluído. Visualize os pontos de backup no histórico.

    image

Operações relacionadas

Método 2: Fazer backup para o OSS

Use ossutil e crontab para agendar backups automatizados de um disco local para o OSS.

Cenário

Recursos

Faturamento

Indicado para backup de dados em grande escala que exige baixo custo e alta confiabilidade. Consulte Benefícios.

Requer script personalizado.

Aplicam-se taxas de armazenamento do OSS. Consulte Taxas de armazenamento.

Importante

Este é um exemplo básico com limitações. Aprimore-o para atender aos requisitos específicos do seu negócio.

Por exemplo, fazer backup completo todas as vezes aumenta o uso de armazenamento, e compactar diretórios inteiros em arquivos ZIP reduz a velocidade do backup. Considere políticas de backup personalizadas, como:

  • Backups incrementais ou diferenciais: Copie apenas os dados modificados desde o último backup para melhorar a eficiência.

  • Backup em blocos: Divida os dados em blocos por estrutura de diretório ou tipo de arquivo antes do backup.

Procedimento

  1. Preparativos.

    • Ative o OSS e crie um bucket. Consulte Criar um bucket.

    • Obtenha o nome do bucket do OSS, o endpoint do OSS e o caminho dos dados do disco local a serem copiados.

  2. Faça login na instância ECS.

  3. Instale o ossutil e configure as credenciais de acesso.

    Importante

    A instância ECS deve ter acesso à Internet para baixe o ossutil. Consulte Como habilitar o acesso à Internet para uma instância ECS?

    1. Instale o ossutil.

      sudo yum install unzip -y
      sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
    2. Configure as credenciais de acesso do ossutil.

      Crie um arquivo .ossutilconfig no diretório do usuário e adicione as credenciais.

      sudo -i  # Switch to the root user. If the current user does not have sudo permissions, use other logon methods or grant the permissions.
      
      cat <<EOF > /root/.ossutilconfig
      [Credentials]
      language=EN
      endpoint=YourEndpoint
      accessKeyID=YourAccessKeyId
      accessKeySecret=YourAccessKeySecret
      EOF

      Substitua YourEndpoint, YourAccessKeyId e YourAccessKeySecret pelos valores reais.

  4. Configure o backup agendado.

    1. Instale a ferramenta de compactação. Neste exemplo, usa-se o zip.

      sudo yum install zip
    2. Crie o script de backup. Neste exemplo, o script chama-se backup_to_oss.sh.

      Script de exemplo: compacta dados do disco local em um pacote ZIP e faz upload para o bucket do OSS especificado. Modifique conforme necessário.

      • /path/to/your/local/data: Substitua pelo diretório real dos dados do disco local.

      • your-bucket-name: Substitua pelo nome do seu bucket do OSS.

      • path/in/oss/to/store/backups/: Substitua pelo diretório do OSS para armazenar os backups.

      • /path/to/backup_tmp/: Diretório temporário para arquivos ZIP antes do upload. Os arquivos são excluídos após o upload bem-sucedido. Substitua por um diretório com espaço suficiente.

      #!/bin/bash
      
      LOCAL_DIR="/path/to/your/local/data/"
      BACKUP_TMP_DIR="/path/to/backup_tmp/"
      OSS_BUCKET="your-bucket-name"
      OSS_PREFIX="path/in/oss/to/store/backups/"
      SYNC_TIME_FILE="/var/tmp/last_backup.timestamp"
      OSSUTIL_PATH="/usr/bin/ossutil"
      LOG_FILE="/var/log/backup_to_oss.log"
      DATE_STAMP=$(date +%Y%m%d%H%M%S)
      ZIP_FILE_NAME="backup_$DATE_STAMP.zip"
      
      # Check whether the ZIP tool is installed.
      if ! command -v zip &> /dev/null; then
          echo "zip command not found. Please install zip." >&2
          exit 1
      fi
      
      # Check whether LOCAL_DIR exists and is not empty.
      if [ -z "$(ls -A "$LOCAL_DIR")" ]; then
          echo "No files to backup in $LOCAL_DIR" | tee -a "$LOG_FILE"
          exit 0
      fi
      
      # Package the files that you want to back up and capture error outputs.
      (cd "$LOCAL_DIR" && zip -r "$BACKUP_TMP_DIR/$ZIP_FILE_NAME" .) >> "$LOG_FILE" 2>&1 || {
          echo "Failed to create ZIP archive. Error: $(zip -r "$BACKUP_TMP_DIR/$ZIP_FILE_NAME" . 2>&1)" | tee -a "$LOG_FILE"
          exit 1
      }
      
      if [ $? -eq 0 ]; then
          # Use ossutil to upload a ZIP file.
          OSS_PATH="oss://$OSS_BUCKET/$OSS_PREFIX$ZIP_FILE_NAME"
          if "$OSSUTIL_PATH" cp "$BACKUP_TMP_DIR/$ZIP_FILE_NAME" "$OSS_PATH" >> "$LOG_FILE" 2>&1; then
              echo "Uploaded: $ZIP_FILE_NAME" | tee -a "$LOG_FILE"
          else
              echo "Failed to upload: $ZIP_FILE_NAME" | tee -a "$LOG_FILE"
          fi
          rm "$BACKUP_TMP_DIR/$ZIP_FILE_NAME" # Delete the local ZIP file after a successful upload.
      else
          echo "Failed to create ZIP archive." | tee -a "$LOG_FILE"
      fi
      
      # Record the backup time even if the backup fails to avoid re-uploading the same content.
      date +%s > "$SYNC_TIME_FILE"
      echo "Backup process completed." | tee -a "$LOG_FILE"
  5. Conceda permissões de execução e teste o script.

    sudo chmod +x /home/backup_to_oss.sh
    ./backup_to_oss.sh

    Verifique se o script execute corretamente e se os dados foram carregados no OSS.

  6. Abra o editor crontab com crontab -e e adicione uma entrada de agendamento. Por exemplo, para executar o backup diariamente às 02:00:

    0 2 * * * /home/backup_to_oss.sh

    /home/backup_to_oss.sh: Substitua pelo caminho real do script.

  7. Configure definições adicionais conforme necessário.

    • (Opcional) Executar o script na inicialização do sistema.

      1. Crie o arquivo backup_to_oss.service.

        sudo vi /etc/systemd/system/backup_to_oss.service
      2. Adicione o conteúdo a seguir. Pressione Esc, insira :wq e pressione Enter para salve e fechar o arquivo.

        [Unit]
        Description=Back to OSS
        After=network.target
        
        [Service]
        ExecStart=/home/backup_to_oss.sh
        RestartSec=3
        Restart=always
        
        [Install]
        WantedBy=default.target
      3. Recarregue a configuração do systemd:

        sudo systemctl daemon-reload
      4. Inicie o script e ative-o na inicialização do sistema:

        sudo systemctl start backup_to_oss.service
        sudo systemctl enable backup_to_oss.service
    • (Opcional) Especifique o período de retenção dos arquivos de backup no OSS.

      1. Crie um arquivo local e configure regras de ciclo de vida em formato XML.

        vim OSSLifecycleConfig.xml

        O exemplo a seguir retém arquivos no caminho test/ por 30 dias e exclua arquivos mais antigos. Modifique conforme necessário. Consulte ciclo de vida.

        <?xml version="1.0" encoding="UTF-8"?>
        <LifecycleConfiguration>
          <Rule>
            <ID>test-rule1</ID>
            <Prefix>test/</Prefix>
            <Status>Enabled</Status>
            <Expiration>
              <Days>30</Days>
            </Expiration>
          </Rule>
        </LifecycleConfiguration>
      2. Aplique a configuração de ciclo de vida ao bucket com o ossutil.

        ossutil lifecycle --method put oss://bucketname OSSLifecycleConfig.xml

        bucketname: Substitua pelo nome real do seu bucket do OSS.

Baixe dados de backup

Baixe os dados de backup do OSS pelo console ou pelo ossutil. Consulte Download simples.

Método 3: Fazer backup para um disco em nuvem ou NAS

Compacte os dados do disco local em um pacote ZIP e faça backup deles em um disco em nuvem ou sistema de arquivos NAS de forma agendada.

Cenário

Recursos

Faturamento

  • Disco em nuvem: ideal para armazenamento online com fácil acesso aos arquivos de backup.

  • Sistema de arquivos NAS: adequado para compartilhamento de dados, backup ou acesso rápido aos dados de backup.

Requer script personalizado.

Importante

Este é um exemplo básico com limitações. Aprimore-o para atender aos requisitos específicos do seu negócio.

Por exemplo, fazer backup completo todas as vezes aumenta o uso de armazenamento, e compactar diretórios inteiros em arquivos ZIP reduz a velocidade do backup. Considere políticas de backup personalizadas, como:

  • Backups incrementais ou diferenciais: Copie apenas os dados modificados desde o último backup para melhorar a eficiência.

  • Backup em blocos: Divida os dados em blocos por estrutura de diretório ou tipo de arquivo antes do backup.

Procedimento

  1. Preparativos.

  2. Configure o backup agendado.

    1. Faça login na instância ECS.

    2. Instale a ferramenta ZIP. No exemplo a seguir, utiliza-se o Alibaba Cloud Linux.

      sudo yum install zip
    3. Crie o script de backup. Neste exemplo, o script está armazenado em /home/backup_script.sh.

      Crie e salve o script:

      vim /home/backup_script.sh

      Script de exemplo: compacta dados do disco local em um pacote ZIP e faz backup para um caminho especificado. Modifique conforme necessário:

      • /path/to/local_disk/: Substitua pelo caminho absoluto dos dados do disco local.

      • /path/to/backup/: Substitua pelo caminho de destino do backup.

      #!/bin/bash
      
      # Configure variables.
      LOCAL_DISK="/path/to/local_disk/"
      NAS_MOUNT="/path/to/backup/"
      ZIP_NAME="backup_$(date +%Y%m%d%H%M%S).zip"
      LOG_FILE="/var/log/backup_to_nas.log"
      
      # Make sure that the ZIP tool is installed.
      if ! command -v zip &> /dev/null; then
          echo "Error: zip command not found. Please install zip." >&2
          exit 1
      fi
      
      # Back up data.
      echo "Starting backup at $(date)" >> "$LOG_FILE"
      zip -r "$NAS_MOUNT/$ZIP_NAME" "$LOCAL_DISK" >> "$LOG_FILE" 2>&1
      if [ $? -eq 0 ]; then
          echo "Backup completed successfully at $(date)" | tee -a "$LOG_FILE"
          echo "Backup file: $NAS_MOUNT/$ZIP_NAME" | tee -a "$LOG_FILE"
      else
          echo "Backup failed. Check log for details." >> "$LOG_FILE"
          exit 1
      fi
      
      # Clear expired backups. For example, retain the backups within the previous 30 days.
      
      # find "$NAS_MOUNT" -type f -name 'backup_*' -mtime +30 -delete >> "$LOG_FILE" 2>&1
      # if [ $? -eq 0 ]; then
      #    echo "Old backups cleaned up successfully." >> "$LOG_FILE"
      # else
      #    echo "Error occurred while cleaning up old backups. Check log for details." >> "$LOG_FILE"
      # fi
      
      echo "Backup process finished at $(date)" >> "$LOG_FILE"
    4. Salve o script e conceda permissões de execução.

      sudo chmod +x /home/backup_script.sh

      /home/backup_script.sh: Substitua pelo caminho real do script.

    5. Abra o editor crontab com crontab -e e adicione uma entrada de agendamento. Por exemplo, para executar o backup diariamente às 02:00:

      0 2 * * * /home/backup_script.sh

      /home/backup_script.sh: Substitua pelo caminho real do script.

    6. (Opcional) Executar o script na inicialização do sistema.

      1. Crie o arquivo backup_script.service.

        sudo vi /etc/systemd/system/backup_script.service
      2. Adicione o conteúdo a seguir. Pressione Esc, insira :wq e pressione Enter para salve e fechar o arquivo.

        [Unit]
        Description=Backup Files Script
        After=network.target
        
        [Service]
        ExecStart=/home/backup_script.sh
        
        [Install]
        WantedBy=default.target
      3. Recarregue a configuração do systemd:

        sudo systemctl daemon-reload
      4. Inicie o script e ative-o na inicialização do sistema:

        sudo systemctl start backup_script.service
        sudo systemctl enable backup_script.service
Baixe dados de backup

Referências