Executando ou “injetando” software com data específica [duplicado]

Nov 19 2020

Existe um pacote ou uma maneira de executar um software com uma data ou hora específica para que, ao executá-lo, ele use a data que você inseriu em vez da data do sistema.

Respostas

2 EliahKagan Nov 19 2020 at 04:13

O faketimecomando faz exatamente isso.

$ date Wed Nov 18 16:10:38 EST 2020 $ faketime 'next week' date
Wed Nov 25 16:10:42 EST 2020
$ faketime '1970-01-01 7:30 UTC' date
Thu Jan  1 02:30:00 EST 1970

Por padrão, os programas executados faketimeainda experimentam a passagem do tempo da maneira usual, apenas começando na hora que você especificar.

$ faketime '2004-10-20 11:06:23 CDT' bash -c 'for i in {1..5}; do date; sleep 1; done'
Wed Oct 20 12:06:23 EDT 2004
Wed Oct 20 12:06:24 EDT 2004
Wed Oct 20 12:06:25 EDT 2004
Wed Oct 20 12:06:26 EDT 2004
Wed Oct 20 12:06:27 EDT 2004

Esses exemplos estão com o datecomando para fins de ilustração, mas faketimeexecutarão qualquer comando que você especificar.