Como administradores, podemos nos deparar com a necessidade de baixar backups de cursos de anos anteriores, para trabalhar de acordo com as políticas de retenção de dados de nossa instituição.
Esses backups podem então ser mantidos pelo tempo necessário em outro local autorizado para isso, como um bucket S3 da Amazon, uma pasta em um servidor da nossa instituição ou um disco rígido, sem afetar o espaço contratado para Blackboard.
No SaaS, os backups são criados automaticamente diariamente e armazenados na Coleção de Conteúdo para acesso por 30 dias.
Para facilitar o download, o Blackboard criou um script que permite baixar em lote os backups para uma pasta local ou para um bucket S3 antes que desapareçam do servidor.
Você pode baixar o script em Painel de administração > Cursos > Configuração do curso > Ajustes de arquivo automático.
Descrição e parâmetros
O script é invocado pela linha de comando e requer vários parâmetros. Deve ser executado a partir do diretório onde foi salvo, e é necessário ter instalado também:
- python3
- PIP
- Pacotes Python
- Request
- Boto
A invocação básica seria:
python3 auto_archive_download.py [-h] -s SITE -u USER [ -f FILE | -b YYYY/MM/DD -e YYYY/MM/DD ] [-d] -o OUTPUTNa lista seguinte, os possíveis parâmetros e seus significados (em segundo lugar a forma longa):
-s site Nome do site, incluindo o protocolo. Exemplo: https://ultra.elearningmedia.es
--site site
-u user Identificador do usuário, deve ter privilégios de administração do sistema (papel Z), por exemplo, administrator
--user user
-f file Arquivo de texto com a lista de identificadores de curso. Obrigatório se as datas forem omitidas. Por exemplo, descargas.txt
-file file
-b date Data de criação dos cursos a partir da qual baixar, no formato AAAA/MM/DD. Por exemplo, 2020/01/01
--begin date
-e date Data de criação dos cursos até a qual baixar, no formato AAAA/MM/DD. Por exemplo, 2020/12/31
--end date
-o output O caminho onde vamos salvar os backups. Pode ser local ou S3. Exemplo: /mnt/ad0s1c/archive
--output output
-h Imprime a ajuda
-d Modo debug
Tenha em conta que:
- o usuário utilizado deve autenticar corretamente via LDAP ou autenticação interna. CAS e SAML não são permitidos.
- WebDAV deve estar habilitado para usar este script. Pode habilitá-lo em Painel do administrador > Gestão de conteúdo > Administração de funções e ferramentas, selecionando Pastas Web.
- o script solicitará a senha do usuário utilizado no início da execução
- o arquivo conterá apenas um courseID por linha, sem nenhum outro caractere ou separador
- se forem usadas datas, ambas devem ser especificadas. Serão baixados todos os backups de cursos criados entre as duas datas indicadas.
- os caminhos locais de saída podem ser absolutos ou relativos, mas é importante que o diretório onde será baixado exista.
- Os arquivos de backup devem existir em /internal/autoArchive/ID-DO-CURSO. Se não existirem, o script falhará.
- o script baixará o backup mais recente de cada curso
- lembre-se de não executar várias instâncias do script em paralelo, pois isso causaria problemas de desempenho.
Exemplos
Vamos ver vários exemplos. Neles, o script é invocado a partir do diretório onde está localizado, que coincide com o do ambiente virtual. O ambiente virtual chama-se env.
Baixar um grupo de cursos por data
Especificamos a data de início e fim, baixando então todos os backups dos cursos criados entre essas duas datas. Esta opção é útil se usamos Períodos. No exemplo, baixamos os cursos criados entre 1º de janeiro e 1º de março de 2021.
Windows:
c:\> cd %userprofile%
c:\users\jsmith> .\env\scripts\activate
(env) c:\users\jsmith> py auto_archive_downloader.py -site https://example.blackboard.com -u administrator -b 2021/01/01 -e 2021/03/01 -o d:\bulkarchiveoutputMac/Unix:
jsmith@localhost:/$ cd $HOME jsmith@localhost:~$ source ./env/bin/activate (env) jsmith@localhost:~$ python3 auto_archive_downloader.py -site example.blackboard.com -u administrator -b 2021/01/01 -e 2021/03/01 -o /mnt/ad1s0a/bulkarchiveoutput
Baixar uma lista de cursos
Este modo necessita de um arquivo feed. O script processa um arquivo com uma lista de Course IDs e baixará os backups desses cursos.
O arquivo feed é um arquivo de texto simples com os IDs dos cursos a baixar. Um ID de curso por linha, sem nenhuma outra informação, delimitador ou cabeçalho. Por exemplo,
2021-ENG001 2021-ENG002 2020-MAT005
É importante usar o Course_ID e não outros valores.
Agora que o arquivo feed está pronto, invocaremos o script com -f ou --file:
c:\> cd %userprofile%
c:\users\jsmith> .\env\scripts\activate
(env) c:\users\jsmith> py auto_archive_downloader.py -site example.blackboard.com -u administrator -f myinputfile.txt -o d:\bulkarchiveoutputUsando buckets S3
O script pode ser usado para carregar os arquivos diretamente em um bucket S3, em vez de baixá-los para um diretório local. Você precisará criar um bucket e uma chave de acesso com permissões suficientes para carregar arquivos.
Para poder usar o bucket:
- É necessário exportar AWS Access Key ID e Secret key como variáveis de ambiente usando os nomes padrão da AWS.
- O caminho para o bucket é indicado com a notação padrão do S3 em vez do caminho local. Exemplo: s3://mybucket/myfolder/
- A barra no final do endereço do bucket é importante, não a omita.
Windows:
Use set para exportar as variáveis de ambiente.
c:\> cd %userprofile%
c:\users\jsmith> .\env\scripts\activate
(env) c:\users\jsmith> set AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
(env) c:\users\jsmith> set AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(env) c:\users\jsmith> py auto_archive_downloader.py -site example.blackboard.com -u administrator -b 2021/01/01 -e 2021/03/01 -o s3://mybucket/myfolder/Mac /Unix:
Use export se seu shell for BASH. Se usar outro shell diferente, consulte a ajuda do shell para saber qual comando usar para exportar as variáveis.
jsmith@localhost:/$ cd $HOME
jsmith@localhost:~$ source ./env/bin/activate
(env) jsmith@localhost:~$ export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
(env) jsmith@localhost:~$ export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(env) jsmith@localhost:~$ python3 auto_archive_downloader.py -site example.blackboard.com -u administrator -b 2021/01/01 -e 2021/03/01 -o s3://mybucket/myfolder/Este é um trecho traduzido do documento original, localizado em: https://blackboard.secure.force.com/apex/btbb_articleview?id=kAE5Y000000kA7OWAU
Comentários
0 comentários
iniciar sessão para comentar.