Cron job maakt meerdere instances aan van script

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
Als ik mijn script zelf aftrap gaat het goed en zie ik 3 rsync threads in ps terugkomen. Met onderstaande cron job krijg ik minimaal 12 instances van rsync om 11:46, soms zelfs meer.

45 11 * * * /tmp/mnt/script.sh 2>&1

Wat doe ik hier fout?

Instagram


Acties:
  • +1 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ik zal even mijn glazen bol afstoffen, zodat ik kan zien wat er precies in script.sh staat.. Even wachten, ben zo terug |:(

Besides, zijn 't nou threads of instances? :? Je noemt beide in dezelfde posts.. Is er werkelijk een probleem of is er helemaal geen probleem?

[ Voor 37% gewijzigd door Osiris op 01-12-2015 12:03 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Wat zie je met pstree (met de --highlight-pid=PID optie)? Begin daar maar eerst eens mee.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
ps | grep rsync
16647 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16648 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16649 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16650 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16655 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16656 admin 5072 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16657 admin 5080 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16658 admin 5080 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16659 admin 5080 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16660 admin 5080 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16665 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16666 admin 5072 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16675 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16676 admin 5080 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16677 admin 4936 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16678 admin 5072 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16720 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16721 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16722 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16723 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16724 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16725 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16726 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
16727 admin 4880 S /tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru --del --delete-e
pstree
|-crond(449)
|-crond(13194)---sh(16667)---bash(16669)---rsync(16675)---rsync(16676)---rsync(167+
|-crond(14534)---sh(16632)---bash(16636)---rsync(16650)---rsync(16658)---rsync(167+
|-crond(14536)---sh(16637)---bash(16638)---rsync(16647)---rsync(16657)---rsync(167+
|-crond(14540)---sh(16661)---bash(16662)---rsync(16665)---rsync(16666)---rsync(167+
|-crond(14589)---sh(16631)---bash(16634)---rsync(16648)---rsync(16659)---rsync(167+
|-crond(15853)---sh(16668)---bash(16670)---rsync(16677)---rsync(16678)---rsync(167+
|-crond(15898)---sh(16651)---bash(16652)---rsync(16655)---rsync(16660)---rsync(167+
|-crond(16427)---sh(16633)---bash(16635)---rsync(16649)---rsync(16656)---rsync(167+
De inhoud van het script lijkt goed te gaan aangezien ik geen problemen ervaar bij het manual aftrappen. Zodra hetzelfde script via cron met eerder genoemde schedule verloopt krijg ik bovestaande resultaten met als gevolg een machine die door z'n geheugen heen schiet.

Instagram


Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 20:36

Blokker_1999

Full steam ahead

maar zonder dat wij het script kunnen zien, kunnen wij niet oordelen over wat er mis kan lopen. Gelieve het script hier neer te zetten (zonder eventuele gevoelige informatie erin) tussen [code] tags.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
# Backup dir
LOCALDIR=/tmp/mnt/backupdir
# Excludes
EXCLUDE='/tmp/mnt/mountpoint/Backup/exclude.lst'

NOW="$(date +"%Y-%m-%d")"
LOGFILE="/tmp/mnt/mountpoint/Backup/backup-$NOW.log"

rm $LOGFILE
/tmp/mnt/mountpoint/entware-ng.arm/bin/rsync -tru \
--del \
--delete-excluded \
--stats \
--inplace \
--no-whole-file \
--no-inc-recursive \
--log-file=$LOGFILE \
--bwlimit=1400 \
--exclude-from $EXCLUDE \
$LOCALDIR \
/tmp/mnt/webdav

Instagram


Acties:
  • 0 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 18:53

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Over welke linux distro en versie hebben we het? Hoe heb je die cronjob precies gescheduled?

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
Het gaat om een asuswrt-merlin router met 2.6.36.4brcmarm (busybox en entware packager).

Cron job voeg ik toe met:


code:
1
cru a backup "45 11 * * * /tmp/mnt/script.sh 2>&1c"


Met onderstaande script check ik of dat goed ging:

code:
1
2
3
4
5
6
7
!/bin/bash
#List all cron jobs for all users
for user in `cat /etc/passwd | cut -d":" -f1`;
do
echo $user;
crontab -l -u $user;
done


Returns enkel de bovestaande job.

Instagram


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 22:37
Hmm ding heeft hem niet per ongeluk ook ergens in /etc/cron.d/* nog eens toegevoegd ?
"cru l" laat er ook maar eentje zien ?

[ Voor 79% gewijzigd door gekkie op 01-12-2015 13:15 ]


Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
Voor mijn gevoel is dat het ook, alleen zoals je ziet loop ik door crontab heen voor iedere user en zie ik maar 1 resultaat van de job terugkomen.

cru is busybox z'n variant van cron en laat met cru l maar 1 zien idd.

[ Voor 20% gewijzigd door Furfoot op 01-12-2015 13:21 ]

Instagram


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 22:37
cru a backup "45 11 * * * /tmp/mnt/script.sh 2>&1c"
Die c op het einde is een typo by the weg ?

Acties:
  • 0 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 18:53

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

En wat als je ergens in je script ook een simpele log actie zet? Wordt die dan ook tig keer uitgevoerd elke dag? Of is het puur dat rsync gek doet?

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
Net even gechecked door de tijd weg te schrijven naar een log file met dit als resultaat

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2015-12-01-13:52:07 - manual
2015-12-01-13:53:04 - manual
2015-12-01-14:00:01 - cron
2015-12-01-14:00:01
2015-12-01-14:00:01
2015-12-01-14:00:01
2015-12-01-14:00:01
2015-12-01-14:00:01
2015-12-01-14:00:01
2015-12-01-14:00:01
2015-12-01-14:13:01 - nog een cron na cru d en opnieuw toevoegen job
2015-12-01-14:13:01
2015-12-01-14:13:01
2015-12-01-14:13:01
2015-12-01-14:13:01
2015-12-01-14:13:01
2015-12-01-14:13:01
2015-12-01-14:13:01


Dus het script wordt 8 keer uitgevoerd zodra de crond dit doet. 8)7

Instagram


Acties:
  • +1 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Furfoot schreef op dinsdag 01 december 2015 @ 12:41:
ps | grep rsync

pstree
code:
1
2
3
4
5
6
7
8
9
|-crond(449)
|-crond(13194)---sh(16667)---bash(16669)---rsync(16675)---rsync(16676)---rsync(167+
|-crond(14534)---sh(16632)---bash(16636)---rsync(16650)---rsync(16658)---rsync(167+
|-crond(14536)---sh(16637)---bash(16638)---rsync(16647)---rsync(16657)---rsync(167+
|-crond(14540)---sh(16661)---bash(16662)---rsync(16665)---rsync(16666)---rsync(167+
|-crond(14589)---sh(16631)---bash(16634)---rsync(16648)---rsync(16659)---rsync(167+
|-crond(15853)---sh(16668)---bash(16670)---rsync(16677)---rsync(16678)---rsync(167+
|-crond(15898)---sh(16651)---bash(16652)---rsync(16655)---rsync(16660)---rsync(167+
|-crond(16427)---sh(16633)---bash(16635)---rsync(16649)---rsync(16656)---rsync(167+
Je probleem is dat je meerdere instances van crond hebt. Zie bv. ps ax | grep crond.

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 21:28

CAPSLOCK2000

zie teletekst pagina 888

nice catch, daar lijkt het inderdaad op.
Het zouden in theorie nog threads kunnen zijn maar ik denk dat jij op het goede pad zit.
Ik zou dus even alle crond's afschieten en er dan 1 starten en kijken of het goed gaat.
De volgende vraag is dan hoe je aan 8 crond processen komt maar misschien heb je daar zelf wel een idee over.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Furfoot
  • Registratie: September 2003
  • Laatst online: 08:52
Thanks! Nou achterhalen waar die crond instances vandaan komen, net reboot gedaan en zie er nu maar 1.

Het lijkt erop dat de crond die nu draait niet eens kijkt naar de crontab :)

[ Voor 29% gewijzigd door Furfoot op 01-12-2015 16:13 ]

Instagram

Pagina: 1