Я использовал эту команду напрямую с командной строкой, и она отлично работает.
sudo ~/.dropbox-dist/dropboxd
Но когда я настраиваю его запускать каждую минуту с cronjob, ничего не происходит. мой файл crontab
# m h dom mon dow command
* * * * * sudo ~/.dropbox-dist/dropboxd
@hourly wget -qO /dev/null https://mysite.com/cron/KpFh734nRJIBMtAAH1-32ajb8Rv23A-l0pBVg$
что не так?
Это не должно быть sudo
. Должно быть имя пользователя. И не используйте ~
, используйте абсолютный путь. как
* * * * * root /home/user/.dropbox-dist/dropboxd
или
* * * * * user /home/user/.dropbox-dist/dropboxd
Также обратите внимание, что в любом случае root
или user
должны иметь разрешение на выполнение сценария.
Вообще говоря, crontab
не знает о переменных среды. Вы должны указать полный путь. В этом примере это может быть:
/home/youruser/.dropbox-dist/dropboxd
sudo
может понадобиться пароль, поэтому он может не достичь того, что вы ожидаете в работе cron. Это может быть просто примером, но я озадачен тем фактом, что вам нужно каждую минуту запускать Dropbox.
Я устраняю проблему с изменением моя команда крона как это:
@reboot ~/.dropbox-dist/dropboxd
но это недостаточно, и я должен выполнить другую команду:
($HOME/.dropbox-dist/dropboxd &)&
после этого для теста, когда я выполняю эту команду
sudo ~/.dropbox-dist/dropboxd
Я буду видеть это сообщение, которое означает, что Dropbox работает, и все изменения будут сразу синхронизировать с учетной записью Dropbox.
Другой экземпляр Dropbox (25068) работает!