Rake und crontab

Ich versuche seit einger Zeit vergeblich rake per crontab zu starten.

session.rake liegt in lib/tasks
im Crontab sind pfadverweise auf bin sbin etc.
per befehlszeile läuft rake sessions einwandfrei

in der cron Anweisung steht
cd /home/app/www.domain.de/current; && RAILS_ENV=production rake
sessions:prune

ich erhalte:

/bin/sh: -c: line 0: syntax error near unexpected token `&&’

/bin/sh: -c: line 0: `/usr/local/bin/softlimit -m 50000000 -o 100 -
p 80 -t 180 cd /home/app/www.domain.de/current; &&
RAILS_ENV=production rake sessions:prune’

cd /home/app/www.domain.de/current; RAILS_ENV=production rake
sessions:prune

softlimit: fatal: unable to run cd: file does not exist
/bin/sh: rake: command not found

cd /home/app/www.domain.de && RAILS_ENV=production rake sessions:prune

softlimit: fatal: unable to run cd: file does not exist

ohne && mit ; oder ohne nix
hülft.
Jemand Idee was ich eingeben muß ?

Gruß

Werner L.
Lindenburger Allee 22 - 50931
Köln
0221.8805 635


http://www.webagentur-laude.de

Hallo :slight_smile:

Muss das RAILS_ENV=production nicht einfach nur hinter das rake und in
einfach Hochkommata? Sprich:

rake sessions:prune RAILS_ENV=‘production’

Gruß
Sven

Am Montag, den 25.08.2008, 16:59 +0200 schrieb Werner L.:

sessions:prune

Lindenburger Allee 22 - 50931 Köln


rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug


Mit den besten Grüßen aus Düsseldorf

Sven J.

HS Public Relations GmbH

Marbacher Str. 114
D-40597 Düsseldorf

Fon: +49 211 90486-0
Fax: +49 211 90486-22

[email protected]

Sitz der Gesellschaft: Düsseldorf - AG Düsseldorf HRB 23149 -
USt-ID-Nr.: DE119372867 - Steuer-Nr.: 13358360228
Geschäftsführer: Alois Schnabl, Claudia Heidemeyer, Sebastian Schnabl -
Postfach 18 03 41 - D 40570 Düsseldorf

Hallo Werner,

nur ne Idee:

in der cron Anweisung steht
cd /home/app/www.domain.de/current; && RAILS_ENV=production rake
sessions:prune

Lass mal das Semikolon weg. Wer weiss, mit welcher Shell Cron startet.

Grüße
Jan R.
jan [ a t ] roesner [ d o t ] it

Bitte den gesamten Pfad zu rake in die crontab schreiben:
Rausfinden mit which rake

Gruß

Jan

Am 25. August 2008 17:16 schrieb Jan R. [email protected]:


Jan P.
Rechtsanwalt

Babendiekstraße 60 B
22587 Hamburg
Tel +49 (0)40 41265809 Fax +49 (0)40 380178-73022
Mobil +49 (0)171 3516667

Am 25.08.2008 um 17:10 schrieb Sven J.:

Hallo :slight_smile:

Muss das RAILS_ENV=production nicht einfach nur hinter das rake und in
einfach Hochkommata? Sprich:

rake sessions:prune RAILS_ENV=‘production’

Hallo Sven, Jan
cd /home/app/www.domain.de/current && RAILS_ENV=‘production’ rake
sessions:prune

oder

cd /home/appj/www.domain.de/current && rake sessions:prune
RAILS_ENV=‘production’

…/current && /usr/local/bin/ rake sessions:prune
RAILS_ENV=‘production’
&& /usr/local/bin rake sessions:prune RAILS_ENV=‘production’
current && /usr/local/bin rake sessions:prune RAILS_ENV=‘production’

softlimit: fatal: unable to run cd: file does not exist

Soweit so schlecht…

Gruß+ schönen Feierabend

Ganz allgemein empfiehlt es sich auf einem production system die rails
env gleich global zu setzen
bei mir ist’s in /etc/profile:
export RAILS_ENV=production

ciao, tom

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Werner,

in der cron Anweisung steht
cd /home/app/www.domain.de/current; && RAILS_ENV=production rake
sessions:prune

Steht davor sonst nichts?

/bin/sh: -c: line 0: `/usr/local/bin/softlimit -m 50000000 -o 100 -p
80 -t 180 cd /home/app/www.domain.de/current; && RAILS_ENV=production
rake sessions:prune’

Hier sieht es so aus als würde davor noch der Aufruf von softlimit
stehen. Zwischen dem -t 180 und dem cd müsste dann auf jedenfall noch
ein && bzw. ein ;

Und zwar entweder das eine, oder das andere … (auch zwischen current
und RAILS_ENV entweder ; oder && aber nicht beides)

Ich hoffe das löst’s … :slight_smile:

Viele
Grüße,
Benedikt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiy7fMACgkQOD/llH+o4kUiugCfVXnF1scXn4rJXlRFCA7l7JAV
Bc4An2MFOBnCcebUis4w1r3bJnu89ui8
=Zxa9
-----END PGP SIGNATURE-----

Am 25.08.2008 um 19:37 schrieb Benedikt Deicke:

Hallo Benedikt…

/usr/local/bin/softlimit -m 50000000 -o 100 -p 80 -t 180 && cd /home/
app/www.domain.de/current && /usr/local/bin/rake sessions:prune
RAILS_ENV=production

softlimit: usage: softlimit [-a allbytes] [-c corebytes] [-d
databytes] [-f filebytes] [-l lockbytes] [-m membytes] [-o openfiles]
[-p processes] [-r residentbytes] [-s stackbytes] [-t cpusecs] child

Gruß

On Mon, 25 Aug 2008 21:46:46 +0200
Manuel W. [email protected] wrote:

(…)

schon mal probiert nen bash zu machen:

was ich angenehmer finde ist einfach ein ruby-script via cron zu
triggern,
um dann damit kompakt alle routine-aufgaben zu erledigen. geht mir
flüssiger von der hand als sh/bash/etc.pp…

there is more than one way to do it :wink:
rene

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

schon mal probiert nen bash zu machen:

mycron.sh

bash

/usr/local/bin/softlimit -m 50000000 -o 100 -p 80 -t 180
cd /home/app/www.domain.de/current
/usr/local/bin/rake sessions:prune RAILS_ENV=production

und das per cron zu starten… muss halt noch die richtigen rechte
haben…

gruß
manuel

Am 25.08.2008 um 19:55 schrieb Werner L.:

databytes] [-f filebytes] [-l lockbytes] [-m membytes] [-o

rake sessions:prune’


rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug


rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFIswwns/WwCK0ZZEARAgRTAKCWbVShzCyKPGUbmCzyA+WQLH3XjgCeKJF1
XlvAK0y89i9lt2vvN9Uv8ss=
=z92l
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

:slight_smile: klar, so weit hab ich gar nicht gedacht…
schließe mich dir dann an und bin auch für ein ruby script :slight_smile:

gruß
manuel

Am 25.08.2008 um 21:57 schrieb Rene P.:

there is more than one way to do it :wink:
rene


rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFIsxHLs/WwCK0ZZEARAuj/AKCuynVcFjavYllcG5+OLpw7YwtaXgCcDAcT
m6oHSZaSEvdUNqptE0p4Z94=
=aXmb
-----END PGP SIGNATURE-----

“JR” == Jan R. writes:

JR> Hallo Werner,

JR> nur ne Idee:

>> in der cron Anweisung steht
>> cd /home/app/www.domain.de/current; && RAILS_ENV=production rake 

sessions:prune

JR> Lass mal das Semikolon weg. Wer weiss, mit welcher Shell Cron 

startet.

Ich empfehle auch noch, “env” explizit zu verwenden, um die
Environment-Variable mitzugeben:

cd /home/app/www.domain.de/current && env RAILS_ENV=production rake
sessions:prune

Im Gegensatz zu rake hat GNU make übrigens noch eine Option
“–directory=…”,
mit welcher man auf der Kommandozeile obige zwei Befehle zusammenfassen
kann.
Wenn ich mit recht entsinne, ist das sogar fast so eine Art Paradigma
bei den GNU-Utilities,
na ja “fast” …

Just my € 0.02 .

Hallo Jochen…
danke … leider:

softlimit: fatal: unable to run cd: file does not exist.

Ich muß mich wohl mit shell scripten o.ä. schlau machen…

Gruß

Am 03.09.2008 um 22:08 schrieb Jochen H.:

“WL” == Werner L. [email protected] writes:

WL> Hallo Jochen..

WL> danke .. leider:

WL> softlimit: fatal: unable to run cd: file does not exist.

WL> Ich muß mich wohl mit shell scripten o.ä. schlau machen..

Also mit “DER Shell” muss man sich auf UNIX-oiden Betriebssystem sowieso
über kurz oder lang gut stellen.
Das kann wirklich nicht schaden.

Aber, ach, das ist doch ganz unelegant, wenn man Einzeiler in Scripts
packt.

Nee, dann versuch’s doch so:

sh -c 'cd /home/app/www.domain.de/current && env 

RAILS_ENV=production rake’

Inzwischen wird sicherlich auch klar,
warum die GNU-Utilities wie (GNU) make jene Option “–directory=…”
haben,
denn auch dieses Einkapseln in eine Shell-Kommandozeile ist ja nicht
wirklich ober-chic.

Hallo Werner,

muss es unbedingt ein rake Task sein? Wenn ich das richtig sehe ist
für Cron-Jobs das script/runner vorgesehen. Also:

/home/app/www.domain.de/current/script/runner Model.methode

oder

/home/app/www.domain.de/current/script/runner
/home/app/www.domain.de/current/lib/script.rb

Die ENV musst du an dieser Stelle natürlich noch setzen.

Gruß
Johannes

2008/9/4 Jochen H. [email protected]:

Am 25.08.2008 um 22:10 schrieb Manuel W.:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

:slight_smile: klar, so weit hab ich gar nicht gedacht…
schließe mich dir dann an und bin auch für ein ruby script :slight_smile:

Danke für die Tipps… denke das macht Sinn.
mache mich dann mal klug wie das geht.

Gruß

Am 04.09.2008 um 17:56 schrieb Johannes Thönes:

Hallo Johannes…

besten Dank. ich schaue es mir nächste Woche mal an…

Gruß und schönes WE
Werner