Use as ferramentas AMI:
De vez em quando, eu ia ao link e, manualmente, clico com o botão direito no meu volume do EBS e criava um instantâneo.
Isso é meio tedioso e eu esquecia às vezes. É possível automatizar essas ações e, digamos, fazer um instantâneo diário ou semanal?
Estou usando uma instância do Windows Server.
Use as ferramentas AMI:
Como alternativa às ferramentas de linha de comando, você pode usar o script PHP desenvolvido por mim. É mais fácil de configurar, pois você não precisa escrever nem mesmo uma linha de código e não precisa configurar o ambiente.
Não apenas esse script cria instantâneos automaticamente, ele também pode excluir instantâneos antigos após determinado período de tempo.
Navegue até a pasta
$ cd /usr/local/
Clon esta essência na pasta ec2
$ git clone https://gist.github.com/9738785.git ec2
Ir para essa pasta
$ cd ec2
Tornar backup.php
executável
$ chmod +x backup.php
Abra lançamentos do projeto github do AWS PHP SDK e copie o URL do botão aws.zip
. Agora faça o download em seu servidor.
$ wget https://github.com/aws/aws-sdk-php/releases/download/2.6.0/aws.zip
Descompacte este arquivo no diretório aws
.
$ unzip aws.zip -d aws
Edite o arquivo backup.php
php e defina todas as configurações na linha 5-12
. Preste atenção na sua região.
$dryrun = FALSE;
$interval = '24 hours';
$keep_for = '10 Days';
$volumes = array('vol-********');
$api_key = '*********************';
$api_secret = '****************************************';
$ec2_region = 'us-east-1';
$snap_descr = "Daily backup";
Teste. Execute este script
$ ./backup.php
Verifique se o instantâneo foi criado.
Se tudo estiver ok, adicione o cronjob. Eu corro todos os dias às 23:00. porque eu uso intervalo 24 hours
. Se você configurar um intervalo mais curto, considere acionar o cron com mais frequência. Você pode até mesmo definir a cada 5 minutos. Ele irá criar um novo instantâneo apenas com um determinado intervalo.
* 23 * * * /usr/local/ec2/backup.php