Pomoc Problem z Cronem

Status
Brak możliwości dodawania odpowiedzi.

escort16v

Nowy użytkownik
Noobie
17 Czerwiec 2012
7
0
1
QNAP
TS-x51
Ethernet
1 GbE
Cześć, nam problem z cronem. Po wpisniu polecenia w crontaba, nie uruchamia zadania, siedzę już nad od dłuższego czasu i nic.
Oczywiście edytuje crontaba za pomocą vi. Plik, który ma być wykonywany jest z prawami chmod +x
przeładowanie i restart crona
Kod:
crontab /etc/config/crontab && /etc/init.d/crond.sh restart
crontab -l wszystkie dane zapisuje w tablicy
testuje porosty plik( oczywiście inne pliki z skryptami też nie chodzą) ręczne wywołanie działa
Kod:
#!/bin/bash
touch wot.sh
poniżej ostatni wpis mój wpis crontabie
Kod:
 # crontab -l
# m h dom m dow cmd
0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia
0 2 * * * /sbin/qfstrim
0 3 * * 0 /etc/init.d/idmap.sh dump
11 9,21 * * * /sbin/notify_update -m -s -p 1>/dev/null 2>&1
0-59/20 3 * * * /sbin/adjust_time
0 4 * * * /sbin/hwclock -s
0 3 * * * /sbin/vs_refresh
0 3 * * * /sbin/clean_reset_pwd
0-59/15 * * * * /etc/init.d/nss2_dusg.sh
30 7 * * * /sbin/clean_upload_file
0-59/10 * * * * /etc/init.d/storage_usage.sh
30 3 * * * /sbin/notice_log_tool -v -R
*/10 * * * * /sbin/config_cache_util 0
10 15 * * * /usr/bin/power_clean -c 2>/dev/null
* * * * * /var/cache/netmgr/lock_timer.sh
* * * * * /var/cache/netmgr/detect_defaultgw_internet.sh
35 7 * * * /sbin/qsyncsrv_util -c  > /dev/null 2>/dev/null
0 0 * * * /sbin/qsyncsrv_tool --fix  > /dev/null 2>/dev/null
*/2 * * * * /bin/sh /share/CACHEDEV1_DATA/test/test.sh >> /etc/config/crontab

miałem jescze wpisy
* * * * */bin/sh /share/CACHEDEV1_DATA/test/test.sh
* * * * * /share/CACHEDEV1_DATA/test/test.sh

Wersja oprogramowania Firmware: systemowego: 4.3.4.0427
Model serwera: QNAP TS-251
 
Dzięki za odpowiedz. Trzeba było dodać ścieżkę również w pliku test.sh. Niby wiedziałem ale jakoś mi to umknęło:glupi: i oczywiście polecenie w crontabie
Kod:
 /bin/sh /share/CACHEDEV1_DATA/test/test.sh
Mam skrypt który robi backup bazy mssql do katalogu. Jak uruchomię go ręcznie wszystko działa. skrypt poniżej

backup.sh
Kod:
#!/bin/bash
DATE=`date +%Y%m%d-%H%M%S`
docker exec -it mssql-linux /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "haslo" -Q "BACKUP DATABASE [tory] TO DISK = N'/var/opt/mssql/backup/mirada_${DATE}.bak' WITH NOFORMAT, NOINIT, NAME = 'mirada-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Muszę tutaj również podać całe ścieżki, ale wtedy skrypt się wysypuje
po podaniu ścieżek wygląda to tak
Kod:
#!/bin/bash
DATE=`date +%Y%m%d-%H%M%S`

docker exec -it mssql-linux /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/629853ef3a8fb6aa88ae3d7924053ef749f89f66f801a34ba51214e1c03f86d2/merged/opt/mssql-tools/bin//sqlcmd -S localhost -U SA -P "haslo" -Q "BACKUP DATABASE [tory] TO DISK = N'/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/629853ef3a8fb6aa88ae3d7924053ef749f89f66f801a34ba51214e1c03f86d2/merged/var/opt/mssql/backup/tory_${DATE}.bak' WITH NOFORMAT, NOINIT, NAME = 'tory-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
Czy można zrobić aby cron uruchamiał dany plik , w tym pliku skrypt który uruchamia plik backup. sh ?
 
Nie wiem czy dobrze zrobiłem bo nie wiem o co mnie prosisz
Kod:
[/] # export PS4="\e[0;33m+\e[0;36m"'(${BASH_SOURCE##*/}:\e[0;35m${LINENO}'"\e[0;31m\e[0;37m) "
<& read -p "Script path [${_p}]: " _t; [ -z "$_t" ] && _t=$_p; (set -x; date ; . $_t) | tee -a /share/Public/trace_run.out'
Script path [/CACHEDEV1_DATA/test/backup.sh]: ./backup.sh
+(:0) date
Fri Dec 29 23:50:41 CET 2017
+(:0) . ./backup.sh
+(backup.sh:2) date +%Y%m%d-%H%M%S
+(backup.sh:2) DATE=20171229-235041
+(backup.sh:4) docker exec -it mssql-linux /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P haslo -Q 'BACKUP DATABASE [tory] TO DISK = N'\''/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay/629853ef3a8fb6aa88ae3d7924053ef749f89f66f801a34ba51214e1c03f86d2/merged/var/               opt/mssql/backup/tory_20171229-235041.bak'\'' WITH NOFORMAT, NOINIT, NAME = '\''mirada-full'\'', SKIP, NOREWIND, NOUNLOAD, STATS = 10'
 
Niestety, wkleiłem wynik w skrypt. Z palca wszystko chodzi a z crona nadal nie che
Kod:
#!/bin/sh

/share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker exec -it mssql-linux/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "haslo" -Q "BACKUP DATABASE [tory] TO DISK = N'/var/opt/mssql/backup/tory_${DATE}.bak' WITH NOFORMAT, NOINIT, NAME = 'mirada-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
 
Status
Brak możliwości dodawania odpowiedzi.