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, 5520 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 ..
Ähnliche Inhalte
E-Mail
Live.de Email erstellen (2)

Frage von themast zum Thema E-Mail ...

Batch & Shell
gelöst Erstellen von Verknüpfungen mithilfe einer Variablen (3)

Frage von ciNNEx zum Thema Batch & Shell ...

Batch & Shell
gelöst Ich Möchte in einem Batch Programm User erstellen (14)

Frage von Gangster137910 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(4)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...