Linux / Ubuntu pergunta, como rodar um crontab como outro usuário?

2

Eu quero ter um crontab agendado diariamente, mas não como usuário root. Razões são que este é um simples trabalho de backup e limpeza e eu não quero nenhum acidente. A pasta de backup terá permissões para o usuário 'mysql-backup' (por exemplo) e eu quero que o crontab execute apenas como usuário mysql-backup. Obviamente, eu não quero que o usuário do mysql-backup esteja logado ou algo assim para o crontab funcionar.

qualquer ajuda será apreciada.

    
por Tom G 28.02.2011 / 19:00

4 respostas

5

você pode editar o crontab do usuário desejado (crontab -e -u mysql-backup) ou usar su ou sudo para mudar para esse usuário em tempo de execução no crontab do root.

    
por 28.02.2011 / 19:04
2

execute sudo crontab -u <user> -e .

    
por 28.02.2011 / 19:04
1

Se você é root, você pode apenas su para o usuário e criar um crontab.

Isso deve funcionar.

Algo como isso deve funcionar bem.

su kyle -c "crontab -e"

assobia para si mesmo

crontab -u kyle -e

Obviamente, foi o que eu quis dizer.

Como não foi explicitamente respondido, um usuário não precisa ser um usuário normal, nem ter direitos de login, ou qualquer coisa assim para ter um crontab de trabalho.

    
por 28.02.2011 / 19:04
0

Para o crontab do sistema, /etc/crontab , o 6º campo é o usuário. Para o crontab usado pelo usuário, execute crontab -e como esse usuário e edite seu crontab. O crontab para usuários é armazenado em /var/spool/cron/<username>

    
por 28.02.2011 / 19:58

Tags