Execute o script Linux na inicialização sem privilégios de root ou cron

0

Eu tenho um script de shell que gostaria de executar automaticamente quando o sistema for iniciado. No entanto, não tenho acesso root e não tenho permissão para executar o crontab. Eu gostaria que isso fosse executado quando o sistema for iniciado, não apenas quando eu fizer o login, então colocá-lo no .bashrc não funcionará. Existe uma maneira de fazer isso?

Editar: o script é uma tarefa de processamento de dados que é executada continuamente e que eu tenho permissões completas para executar. O problema é que o servidor é reiniciado todas as noites, então atualmente eu tenho que fazer o login todas as manhãs e reiniciar manualmente o script. Eu estou querendo saber se há uma maneira de automatizar isso. Uma solução aceitável seria configurar o script para ser executado diariamente em um horário especificado (de uma maneira que persistiria depois que o sistema fosse reinicializado). Como salientado, eu poderia pedir ao administrador para configurar isso como um cron job, mas primeiro eu quero verificar se existe uma maneira (legítima) de fazer isso sem precisar de escalonamento de privilégios.

    
por user697841 15.02.2017 / 16:23

2 respostas

3

Se for legítimo, acima da placa e apropriado, você solicita que o administrador do sistema o instale e eles concordam e fazem isso ou discordam e se recusam a fazê-lo.

Caso contrário, não. Particularmente, se isso está no trabalho e você gosta de contracheques, ou na escola e você tem intenções para se formar.

    
por 15.02.2017 / 17:07
1

Peça aos SysAdmins para habilitar o cron para você ou peça que eles configurem um cron job para executar o script.

Como alternativa, grave um script que faça o ssh na máquina e inicie o script de processamento de dados, e agende o script para ser executado em uma máquina controlada por você. Use o comando nohup para manter o script executando o segundo plano quando o shell sair.

ssh [email protected] "data_processing_script.sh < /dev/null > std.out 2> std.err &"

Ou, se o sistema tiver um servidor da Web com a configuração userdir, escreva um script cgi que executará o script de processamento de dados e agende um comando curl em um sistema que você controla para tocar no servidor da Web.

Mais informações sobre a execução de comandos em segundo plano usando ssh estão aqui: link

    
por 15.02.2017 / 19:52