Differenza tra / etc / crontab e “crontab -e”


42

Qual è la differenza tra il crontab situato in /etc/crontabe il crontab che può essere modificato usando crontab -e?

Risposte:


51

Come ha detto Ignacio, /etc/crontabè il crontab del sistema.

Il formato di /etc/crontabè così:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

mentre crontab -eè per utente, vale la pena menzionare senza alcun -uargomento il comando crontab va al crontab degli utenti attuali. Puoi fare crontab -e -u <username>per modificare un crontab di utenti specifici.

Si noti che in un crontab per utente non esiste un campo "utente".

# m h  dom mon dow  command
*   *   *   *   *   echo 'foo'

Un aspetto dei crontab che può essere fonte di confusione è che anche root ha il suo crontab. ad es. crontab -e -u rootnon modificherà /etc/crontab Vedi Configurazione cron .

Nella maggior parte delle distro Linux, i crontab per utente sono generalmente memorizzati in: /var/spool/cron/crontabs/<username>(vixie-cron).

Le distribuzioni basate su RHEL sono archiviate in /var/spool/cron/<username>. (Cronie)


Cordiali saluti, il percorso indicato sopra non è corretto: i crontab per utente sono memorizzati in / var / spool / cron / crontabs / <nomeutente> (ho provato due volte a inviare questa semplice correzione.)
— MartyMacGyver

1
... ed è corretto ora.
— MartyMacGyver

In realtà, è archiviato /var/spool/cron/rootper il crontab per utente di root su un sistema RHEL 6. Non ho controllato Ubuntu, ma dire "in genere" sembra un po 'allungato.
— Carattere jolly

@Wildcard Penso che "in genere" sia una parola giusta da usare. Le navi distro RHEL con "cronie" (e anacron credo) che è il loro fork di ISC-Cron / vixie cron. Non penso che sia un tratto, in ogni caso ho aggiornato la mia risposta per includere ulteriori dettagli.
— skrewler,

Per una rapida ricerca dei percorsi attraverso le distro, cerca la stringa path[crontabs]nella libreria "percorsi" di CFEngine e controlla il contesto (le linee di contesto precedenti sembrano come ad es redhat::.). C'è più variazione di quanto pensi; es. SUSE li inserisce /var/spool/cron/tabs. (Astrarre le differenze di distribuzione è uno dei motivi per cui CFEngine è stato originariamente creato, quindi spesso è un buon riferimento.)
— Wildcard

5

Uno è il crontab di sistema e può essere modificato solo dal root, l'altro è il crontab dell'utente e può essere modificato da un utente ed esiste per utente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.