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, 5537 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
Windows Server
gelöst Ordner erstellen Problem (3)

Frage von IrgendEinName zum Thema Windows Server ...

Windows Systemdateien
gelöst Mit CMD Verknüpfung erstellen mit der Option "Ausführen in" (5)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Visual Studio
Simples asp.net menu selbst erstellen (9)

Frage von Herbrich19 zum Thema Visual Studio ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (28)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Humor (lol)
Aktuell keine IT Probleme (22)

Frage von lordofremixes zum Thema Humor (lol) ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...