Escrevendo um alias que coloca uma pasta e suas subpastas / arquivos em um arquivo criptografado intitulado com a data

1

Estou tentando escrever um alias que coloque uma pasta e suas subpastas / arquivos em um arquivo criptografado com a data em que o comando é executado. De preferência no formato "YYYYMMDD FolderName Backup".

Por exemplo substitua YYYYMMDD por 20150707 ou qualquer que seja o dia em que o comando é chamado.

Eu sei como definir um alias editando / criando o arquivo .bash_aliases na pasta Home e adicionando uma linha como esta:

alias cryptdoc="cd ~/Desktop/ && 7z a -pSome_Pass -r ~/Desktop/YYYYMMDD_Documents_Backup.7z' '/home/location/Documents/'"

Algumas notas rápidas sobre o código acima:

  1. alias cryptdoc= configura o alias.
  2. As aspas são incluídas no caso de eu ter algum diretório com um espaço no nome para que eu possa escrever um comando como "cd '~ / Meus documentos / Folderhere'", que talvez precise funcionar sem atrapalhar o comando.
  3. cd ~/Desktop/ é porque eu quero que o arquivo saia na área de trabalho
  4. && está incluído para garantir que eu possa fazer o primeiro comando e depois o segundo, desde que o primeiro funcione.
  5. 7z porque é melhor, a para adicionar um arquivo a um arquivo e -p para incluir uma senha dentro do comando de minha escolha. Lembre-se de adicionar uma senha depois de -p que deve ficar assim: -psomepasswordthatdoesntlookrightbutis . -r é porque eu quero recursiva através de minhas pastas e arquivos dentro da pasta principal.

Eu também percebo que isso significa que haverá uma senha em texto simples na minha máquina no arquivo de alias. Mas se alguém tiver acesso ao arquivo de alias, ele também terá acesso à minha pasta com esses arquivos, de modo que se torne irrelevante.

Isso deve permitir que eu vá para o terminal e digite cryptdoc e tecle enter para criar um arquivo 7-Zip criptografado com a senha escolhida, tudo pronto para ser carregado em algum armazenamento em nuvem menos seguro. Mas como posso adicionar uma variável que realmente agarra o AAAAMMDD no momento de digitar cryptdoc no terminal e insere-o no título do documento?

    
por Fernando 08.07.2015 / 06:10

1 resposta

3

Isso deve funcionar bem para você. O comando date é tudo o que é necessário.

alias cryptodoc="cd ~/Desktop/ && 7z a -pSome_Pass -r ~/Desktop/$(date +%Y%m%d)_Documents_Backup.7z ~/Documents/* 2>/dev/null"

o comando date +%Y%m%d significa, executar date , então + significa format , então %Y significa YYYY , %m significa MM e %d significa DD . Ter o comando $( ) ao redor da data significa executá-lo no momento do comando.

Espero que isso ajude!

    
por Terrance 08.07.2015 / 08:03