Provavelmente, a maneira mais simples de fazer isso com cron
é:
- inicie o serviço de torrent no tempo T1 para cada usuário no grupo de usuários A
- interrompa o serviço de torrent na hora T2 > T1 para usuários no grupo A
- inicie o serviço de torrent na hora T2 > T1 para usuários no grupo B
- interrompa o serviço de torrent no momento T3 > T2 para usuários no grupo B
Escolher horários, por exemplo
- O T1 está em qualquer ponto entre as 00:01 e as 13:59 no dia D
- T2 é 14:00 no dia D
- T3 são 23:59 no dia D
Você pode alterar isso da maneira que quiser para que o compartilhamento de tempo seja equitativo para todos os usuários do grupo A e B.
Para usuário "username" no grupo A:
1) Edite as entradas crontab
existentes, comentando-as. Não os apague, apenas comente-os para que não sejam acionados.
2) Adicione novas entradas crontab
:
# => either start daemon, while checking that (i) startup takes place between 0:01 am
#+ and 2:00pm and (i) no 'rtorrent' process owned by "username" already runs.
*/10 0-14 * * * [ -z $(/bin/ps -eF | /usr/bin/awk '/rtorrent/ && /username/') ] && /sbin/start-stop-daemon -S /usr/local/bin/rtorrent
# => or start client-app based on similar conditions
*/10 0-14 * * * [ -z $(/bin/ps -eF | /usr/bin/awk '/rtorrent/ && /username/') ] && /usr/bin/env DISPLAY=:0.0 /usr/local/bin/rtorrent
# stop 'rtorrent' process if it exists and is owned by "username"
#+ Check every 5 minutes between 2pm and midnight
*/5 14-24 * * * /usr/bin/kill "$(/bin/ps -eF | /usr/bin/awk '/rtorrent/ && /username/ printf "%s",$2')" > /dev/null 2>&1
Os detalhes do comando iniciando o daemon dependerão de vários fatores, por exemplo, se o cliente iniciando rtorrent
é uma máquina de usuário único ou se vários usuários podem executar simultaneamente sua própria instância de rtorrent
. Nesse caso, você pode querer salvar o pid do processo em um arquivo de execução para cada usuário, para que você possa gerenciar esses processos como uma unção de carga de tráfego. Olhe para this para realmente iniciar o processo de identificação do usuário, socket e pid do rtorrent
.
Eu pude não testar essa solução, então é uma incursão no escuro no que diz respeito ao procedimento de início correto. Particularmente, eu assumo que yr /home/username/.rtorrent.rc
está adequadamente configurado, e que irssi
não oferece nenhum problema conforme detalhado em outro lugar .
HTH. Por favor, denuncie.