Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: tamrock - 22.03.19 - klo:16.57

Otsikko: Crontab ja .sh [ RATKAISTU ]
Kirjoitti: tamrock - 22.03.19 - klo:16.57
Asentelin koneelle (Ubuntu 18.04) Onedriven. Ohjelma toimii ja tiedostot siirtyvät pilveen että vilahtaa, kun komentelen sitä päätteessä:
Koodia: [Valitse]
onedrive -m En kuitenkaan ole saanut kansioita synkronoitumaan automaattisesti. Tätä varten haluaisin ajastaa "onedrive -m" komennon crontabiin mutta tätä en ole saanut toimimaan.

Tein skriptin:

Koodia: [Valitse]
#!/bin/bash
echo "Update onedrive"
onedrive -m
echo "Update is ready"


Tästä tein suoritettavan:
Koodia: [Valitse]
chmod a+x onedrive.sh
Tämä skripti toimii suoraan päätteessä mutta ei crontabissa. Voisiko joku auttaa kuinka saan tämän ajastettua ja synkroinnin automatisoitua?
Otsikko: Vs: Crontab ja .sh
Kirjoitti: raimo - 22.03.19 - klo:17.02
Laita crontabiin tiedoston koko hakemistopolku.
Otsikko: Vs: Crontab ja .sh
Kirjoitti: tamrock - 22.03.19 - klo:19.14
Tarkoititko näin:
Koodia: [Valitse]
* * * * * /home/tarmo/onedrive.sh

Näin ei toimi ja syslogiin tulee tälläinen viesti:
Koodia: [Valitse]
kernel: [ 2945.525587] onedrive[7698]: segfault at 0 ip 0000000000000000 sp 00007ffd102f8968 error 14 in onedrive[562815cb8000+25c000]Mistähän virheestä mahtaa ilmoittaa?
Otsikko: Vs: Crontab ja .sh
Kirjoitti: jekku - 22.03.19 - klo:19.18
Mihin crontabiin tuon laitoit ja onko tosiaan tarkoitus ajaa minuutin välein?
Ja siinä skriptissäsikin on oltava koko polku komennolle "onedrive -m" - voi sen kiertää mutta selvempää on jos kirjoitat koko polun.
Otsikko: Vs: Crontab ja .sh
Kirjoitti: tamrock - 22.03.19 - klo:20.22
Päätteessä:
Koodia: [Valitse]
crontab -eTuonne sen lisäsin.
Tuo minuutin ajastus on pelkästään testausta varten kun en viitsi esimerkiksi tuntia odotella että näen toimiiko ajastin vai ei.

Sain onedriven lisättyä käynnistyviin ohjelmiin eli koneen käynnistyessä onedrive lähtee toimintaan mutta kun kone menee valmiustilaan ja sitten herätessään se ei ole enää pelissä mukana.  Ongelma poistuisi ja crontabin käyttö jäisi turhaksi jos saisin onedriven synkronoinnin lähtemään käyntiin kun kone herää valmiustilasta.
Otsikko: Vs: Crontab ja .sh
Kirjoitti: AimoE - 22.03.19 - klo:20.56
Olen joskus tällä palstalla kysellyt miten jonkun toiminnon saa tehdyksi valmiustilasta palatessa, ja löysin ratkaisun joka käyttää systed:tä. Tarvitsin sen selaiseen tehtävään jossa sudoa ei tarvita, joten se ei välttämättä toimi sun tapauksessa. Mutta keskustelu löytyy täältä jostain.
Otsikko: Vs: Crontab ja .sh
Kirjoitti: raimo - 22.03.19 - klo:21.28
Tarkoititko näin:
Koodia: [Valitse]
* * * * * /home/tarmo/onedrive.sh

Näin ei toimi ja syslogiin tulee tälläinen viesti:
Koodia: [Valitse]
kernel: [ 2945.525587] onedrive[7698]: segfault at 0 ip 0000000000000000 sp 00007ffd102f8968 error 14 in onedrive[562815cb8000+25c000]Mistähän virheestä mahtaa ilmoittaa?

Juu, juuri noin koko polku. Vaikea sanoa tuosta virheestä mitään.
Otsikko: Vs: Crontab ja .sh
Kirjoitti: jekku - 23.03.19 - klo:04.32
Päätteessä:
Koodia: [Valitse]
crontab -eTuonne sen lisäsin.
Tuo minuutin ajastus on pelkästään testausta varten kun en viitsi esimerkiksi tuntia odotella että näen toimiiko ajastin vai ei.
....

Noista käyttäjien crontabeista ei kokemusta (tai ainakaan muistikuvaa).

Kokeilisin kuitenkin muokata sitä skriptiä siten että koko polut ja ohjaisin palautteen johonkin lokiin.

Tuo virheilmoitus ei kuitenkaan viitanne polun puuttumiseen.
(mistä muuten poimit tuon virheilmoituksen?)

 
Otsikko: Vs: Crontab ja .sh
Kirjoitti: tamrock - 23.03.19 - klo:07.53
Olen kokeillut myös
Koodia: [Valitse]
sudo crontab -emuttei toimi silläkään.

Virheilmoitus löytyi osoitteesta: /var/log/syslog

Mutta nyt näyttää, että sain homman pelaamaan kuin halusinkin. Laitoin käynnistettäviin ohjelmiin komennoksi:
Koodia: [Valitse]
onedrive -mja tuolla tempulla se alkoi toimimaan. Myös valmiustilasta herätessään synkronointi toimii. Kiitos jälleen apua tarjonneille!