GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire `date` all'interno di un processo Cron Tab?

Voglio creare un file di registro per uno script cron che abbia l'ora corrente nel nome del file di registro. Questo è il comando che ho provato a usare:

0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log

Sfortunatamente ricevo questo messaggio quando viene eseguito:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file

Ho provato a eseguire l'escape di date parte in vari modi, ma senza molta fortuna. È possibile farlo in linea in un file crontab o devo creare uno script di shell per farlo?

Risposta accettata:

Risposta breve:

Esci dal % come % :

0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log

Risposta lunga:

Il messaggio di errore suggerisce che la shell che esegue il comando non vede il secondo carattere di spunta indietro:

/bin/sh: -c: line 0: unexpected EOF while looking for matching '`'

Ciò è confermato anche dal secondo messaggio di errore che hai ricevuto quando hai provato una delle altre risposte:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ')'

La pagina man di crontab conferma che il comando viene letto solo fino al primo % senza caratteri di escape firmare:

Il campo "sesto" (il resto della riga) specifica il comando da
essere eseguito. L'intera porzione di comando della riga, fino a una nuova riga o % carattere, verrà eseguito da /bin/sh o dalla shell specificata in
nella SHELL variabile del cronfile. Segni di percentuale (% ) nel comando, a meno che non sia stato eseguito l'escape con barra rovesciata ( ), verrà modificato in caratteri di nuova riga e tutti i dati dopo il primo % verrà inviato al
comando come standard input.


Linux
  1. Come impostare un Cron Job in TrueNAS

  2. Come eseguire un comando all'interno di un contenitore Systemd in esecuzione?

  3. Come istruire cron a eseguire un lavoro ogni due settimane?

  4. Come posso creare a livello di codice un nuovo cron job?

  5. Come impostare un cron job per eseguire un eseguibile ogni ora?

Come impostare un Cron Job in cPanel

Come configurare un processo cron in cPanel

Come impostare Cron Job in cPanel

Come impostare un Cron Job su Hostinger?

Come utilizzare il comando Jobs in Linux

Come eseguire un comando in uno script della shell?