Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

crontab manuell erstellen

Frage Linux

Mitglied: thepoweruser

thepoweruser (Level 1) - Jetzt verbinden

06.07.2009, aktualisiert 08:25 Uhr, 5422 Aufrufe, 11 Kommentare

Ich habe ein Script geschrieben, welches automatisiert die cron geschrieben wird, wann welcher Script ausgeführt werden sollte zu welcher Zeit. Jedoch funktioniert das ganze einmal nachdem es mit dem folgendem Befehl ausgeführt wurde:

01.
cat>> /var/spool/cron/root <<EOF 
02.
$StartMinute $StartHours $StartDay $StartMonat * root /script.sh  
03.
EOF
Danach möchte ich, sobald script.sh fertig durchgelaufen ist wieder aus der crontab automatisch gelöscht haben, jedoch aber nur den Job, welch für den Script benötigt wurde, wenn andere CronJobs vorhanden sind, sollten die anderen CronJobs nicht gelöscht werden.

Ich versuchte es mit diesem Befehl:

01.
 grep -v "$StartMinute $StartHours $StartDay $StartMonat script.sh" /var/spool/cron/root > /var/spool/cron/root.back 
02.
mv -f /var/spool/cron/root.back /var/spool/cron/root 
Beim ersten versuch, sobald die crontab mit dem befehl
01.
 crontab -r 
gelöscht wurde, funktioniert mein Script, bzw. wird ausgeführt, jedoch beim 2. Versuch funktioniert es nicht mehr

Was muss da getan werden?
Mitglied: kimiko
06.07.2009 um 10:56 Uhr
Wenn die jobs nur einmal laufen sollen, dann at-command.
z.B. at teatime +3 days

ich würde das prinzipiell so machen:
01.
crontab -l > file.txt 
02.
echo '* 5 * * * script.sh' >> file.txt 
03.
awk '!/script.sh/ {print}' file.txt  
04.
crontab file.txt
könnte mir vorstellen dass du Probleme mit dem globbing hast.
Bitte warten ..
Mitglied: thepoweruser
06.07.2009 um 12:04 Uhr
ich möchte mein script ergänzen, jedoch komme ich nicht draus was der befehl awk macht als ich den Befehl

01.
 crontab -l > file.txt echo '* 5 * * * script.sh' >> file.txt 
eingegeben habe, konnte kein eintrag in die datei vorgenommen werden, es kam nur die meldung mit der erklärung welche Parameter beim Befehl crontab vorhanden sind.
Bitte warten ..
Mitglied: carg
06.07.2009 um 13:02 Uhr
Hi,

warum willst Du denn nicht at verwenden?

Gruß

ps: das Deine Zeile 01. nicht funktioniert ist nicht wirklich verwunderlich - da fehlt ein ; vor dem echo - im übrigen man awk !
Bitte warten ..
Mitglied: thepoweruser
06.07.2009 um 13:07 Uhr
ich arbeite auf VMware ESX Server und dort steht mir kein at zur verfügung

was müsste in Zeile 01 geändert werden damit es funktioniert ich hab da nicht viel ahnung, dieser Vorschlag kommt auch vom user kimiko
Bitte warten ..
Mitglied: carg
06.07.2009 um 13:31 Uhr
Hi,

also z.b. so:
am ende vom Script
awk '!/script.sh/ {print}' file.txt > newcrontab.txt
--- Erklärung: /hierstehtwasdusuchst/ das ! bedeutet nicht also printe (stdout) alle Zeilen die NICHT /suchmuster/ enthalten
crontab newcrontab.txt
-- jetzt wird die Crondatei eingelesen OHNE die mit awk ausgeschnittene

Musst halt nur aufpassen, dass Du nichts erwischt was Du noch brauchst also das Suchmuster nur das gewünschte erwischt!

Gruß
Bitte warten ..
Mitglied: thepoweruser
06.07.2009 um 13:37 Uhr
ah ok demfall werde ich das so versuchen. Jedoch auch wenn ich nur das cron Job File /var/spool/cron/root selber anpasse mit dem Script:

01.
 cat>> /var/spool/cron/root <<EOF  
02.
$StartMinute $StartHours $StartDay $StartMonat * root /script.sh EOF 
wird es nur einmal mit Cron Job erfolgreich durch ausgeführt. Weiss da jemand genaueres wieso dies nicht funktioniert mit dem oben genannten Befehl?
Bitte warten ..
Mitglied: carg
06.07.2009 um 14:25 Uhr
Hi,

was steht denn an der Stelle von $StartMinute $StartHours $StartDay $StartMonat ?

WAS funktioniert denn noch nicht - sorry - aber Deine Beschreibung was Du willst ist einfach nicht verständlich z.B: "ah ok demfall" was ist den demfall für ein Wort?

Ohne das man erfährt, was bei den Variablen $StartMinute $StartHours $StartDay $StartMonat gesetzt wird, kann Dir keiner die Frage beantworten. Es kann ja z.B. sein das im Monat ne 5 steht .... dann mußte nur ein wenig geduldig sein - schon gehts
Auch ist ein eventuelles /etc/init.d/crond reload vielleicht nicht wirklich falsch!

Gruß
Bitte warten ..
Mitglied: thepoweruser
06.07.2009 um 15:26 Uhr
Im cron job wird durch den script folgendes eingetragen:

01.
 03 15 6 7 * root /script.sh 
Was noch nicht funktioniert ist, das wenn ich den Script nochmals ausführe um ein Datum welch der Cron Job gestartet werden sollte, dort eintrage, wird der Cron Job nicht mehr estart obwohl die berechtigung chmod 600 die selbe war wie wenn ich mit crontab -e dies eintrage.
Bitte warten ..
Mitglied: kimiko
06.07.2009 um 15:52 Uhr
vielleicht liegt es an whitespaces, besonders am Zeilenende.
vi sieht den deine cron/root datei aus (in der 2. Version).
diese sternchen * sind nämlich tricky.

mach mal
01.
echo `echo '*'` 
02.
echo '*'
Gruss
Bitte warten ..
Mitglied: thepoweruser
07.07.2009 um 08:55 Uhr
kann mir jemand erklären wieso ich mittels Befehls cat die crontab neu erstellen kann jedoch beim ändern die cron job nicht mehr anspringt und die gesamte crontab gelöscht und wieder neu angelegt werden muss?

Das problem besteht leider immer noch
Bitte warten ..
Mitglied: carg
07.07.2009 um 10:48 Uhr
Hi,
also langsam ....*arrg*

Liest Du eigentlich die Antworten?
/etc/init.d/crond reload
Du mußt cron auch die Gelegenheit geben die Datei neu einzulesen! Ein kill -HUP <pid-von-crond> sollte es auch tun, aber dann mußt Du Dir erst noch die pid raussuchen.

Also nochmal für Dich zum mitdenken.
crontab mit cat etc. wie gewünscht gearbeiten!
DANACH /etc/init.d/crond reload
dann wird es auch klappen
Gruß over and out!

ps.: Du schaffst das ... wirklich ...!
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Vmware
ESXI Template erstellen (2)

Frage von Phill93 zum Thema Vmware ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

VB for Applications
gelöst Mehrere Charts per VBA erstellen lassen, Titel wird nicht angezeigt

Frage von Aximand zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...