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, 5465 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
SAN, NAS, DAS
Erstellen eines Ordners od. Freigabe auf der BOOT-Parition - NAS4free

Frage von StillerLeser09 zum Thema SAN, NAS, DAS ...

LAN, WAN, Wireless
Selbstsigniertes Zertifikat auf Brocade Switch erstellen (6)

Frage von Coreknabe zum Thema LAN, WAN, Wireless ...

Off Topic
gelöst Webseite erstellen - Preise (14)

Frage von Xaero1982 zum Thema Off Topic ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...