Mi a különbség root és root között?

Fórumok

Debian alatt fut egy Seafile, ami gyönyörűen teszi a dolgát, kivéve, hogy töredezik. Ez sem lenne baj, hisz van egy seafileCleanup.sh scriptje, ami szépen felszabadítja a helyet.
A scriptet root-ként futtatva rendben teszi is a dolgát.
Azonban, ha a crotab-ból futtatom root-ként, a következő hibaüzenetet adja:

This script must be run as root user! ()

A crontab sor így néz ki:
1 7 * * 6 root /opt/seafile/utils/seafileCleanup.sh

Hogyan kell úgy futtatnom időzítőből, mintha root-ként belépve indítottam volna el?

Hozzászólások

Ez a sor a /etc/crontab -ban van, ugye?

nézz be abba shellscriptbe, keress rá erre a hibaüzenetre és nézd meg, hogy hogyan ellenőrzi, hogy valóban root vagy-e. Tippre nem az id parancs kimenetét nézi, hanem pl. envvar-t néz, az meg ugye nincs beállítva ha cronból fut a job.

Nem akarok okoskodni, de lehet rövidre zárható lenne ha sudo su-val átlépnél a root user alá és egy crontab -e -vel abba a fájlba tennéd amit így megnyit. Az tuti root-ként fut.

USER = env var, de lehet epp az uid kell vagy valami mas, a lenyeg hogy rosszul van nezve, ahogy tobben megallapitottak

/bin/sh

/etc/crontab

SHELL=/bin/sh

ez szokott default lenni es itt

-SHELL=/bin/sh
+SHELL=/bin/bash

es ez meg nem biztos, hogy eleg

van ugyanis masik crontab is:

van a

$ su -c "crontab -e"
vagy
# crontab -e

itt is

SHELL=/bin/bash

Az is megoldás lehet, ha a crontab elejére ezt teszed:


BASH_ENV=~/.bash_profile

> "Hogyan kell úgy futtatnom időzítőből, mintha root-ként belépve indítottam volna el?"

Tehát mintha bash-be írnád?
Szerintem így:
bash -c "parancsod"