Crie um arquivo com o seguinte conteúdo (por exemplo, list_packages.sh
):
#!/bin/bash
dpkg -l > ~/Dropbox/installed_packages
Coloque este arquivo em /etc/cron.weekly/
e ele será executado uma vez por semana.
Estou tendo problemas para descobrir como configurar meu primeiro trabalho no cron. Eu simplesmente quero executar este comando uma vez por semana:
dpkg -l > ~/Dropbox/installed_packages
Meu arquivo /etc/crontab
contém a linha
7 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
Então eu preciso colocar meu comando em algum lugar no diretório /etc/cron.weekly - mas em qual arquivo? /etc/cron.weekly
atualmente contém os seguintes arquivos:
apt-xapian-index man-db 0anacron cvs
Guarde isto como um script, diga installed_packages_list.sh
:
#!/bin/bash
dpkg -l > ~/Dropbox/installed_packages
Torne-o executável.
chmod u+x installed_packages_list.sh
Em seguida, execute
crontab -e
Isso abrirá um arquivo em um editor de texto. Digite isto e salve
@weekly /full/path/to/script
O script será executado uma vez por semana, com privilégios do usuário que agendou o cron job.
Primeiro, para fazer isso, você não precisa executar o trabalho como superusuário.
A maneira mais fácil de resolver isso é editar o crontab do seu usuário normal via
crontab -e
Dependendo da sua variável de ambiente EDITOR, o crontab dos usuários é aberto com o seu editor de texto favorito.
Lá você pode adicionar algo como
# m h dom mon dow command
5 12 * * 1 bash $HOME/pkg.backup.sh
Você tem que criar o arquivo pkg.backup.sh com seu comando dpkg.
Btw, se você quiser poder restaurar facilmente o estado do seu pacote atual da máquina (também conhecida como seleção de pacotes), então esta linha de comando é mais orientada para o alvo:
dpkg --get-selections > foo
Para restaurá-lo, você só precisa digitar
dpkg --set-seclections < foo
Na verdade, o dpkg -l é útil para além disso, se você quiser também registrar o número exato da versão do pacote.
Tags cron