iT邦幫忙

0

QNAP 手動執行排程無效

  • 分享至 

  • twitterImage

各位大大
我用ssh 登入後建了一個 sh
編輯了 etc/config/crontab
編輯完成後也執行了
crontab /etc/config/crontab && /etc/init.d/crond.sh restart 重啓
加了一行
20 1 * * * /tmp/system_data/disk.sh
disk.sh 權限也開到 777
但它就是不執行
也試過用
/1* * * * /tmp/systemdata/disk.sh
每分鐘執行一次.也不會執行 請問各位大大我是那裡寫錯了嗎?*

disk.sh 內容如下
mount -t cifs 192.168.1.14:/it /mnt/disk -o usermane=XXX,password=XXX
df -m >1.8_$(date "+%Y%m%d").txt
cp /tmp/system_data/1.8_$(date "+%Y%m%d").txt /mnt/disk/system/1.8_space.txt

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0

排程不運行,一般最好先去查看cron的log。
先確定是否真的沒運行。
如果真的在log上看不到運行記錄。那就要改變做法。

一般來說,改變crontab的話,盡量不要用直接編輯cron文件檔的方式。
畢竟還需要做restart的動作。會比較麻煩點。
一般我還是會用如下的指令來去修改

crontab -u{要修改的排程身份} -e

或直接修改當下登入者的身份

crontab -e 

一般來說,除非是需要動作很高權限的操作。我才會將排程寫在root身份。
要不然會盡量在對應的身伱來跑排程。
使用crontab指令。會在你儲存後,自動依當下的設定值運行排程。
不需要在做restart。

不過這邊看了下,你用的是 mount 這個指令。
這沒意外只能用root身份來跑。
要不然其它身份因該會沒有權限才對。

只是正常依照你的需求。理當使用 rc.local 而不是用crontab 才對。

不太懂你的真正需要。上面的操作看一下吧。
不太認為這動作需要在cron做才對。

trouble iT邦新手 5 級 ‧ 2020-12-08 13:32:10 檢舉

感謝浩瀚星空大大的回覆
我只是想每天定時撈QNAP 的硬碟空間.做成txt 檔匯出.轉成excel
因為有好幾台 NAS 且有不同廠牌.所以才想用這種方式把所有的NAS用定期匯出的方式來檢查 加上本身不是很懂linux 所以拿了一台比較不重要的QNAP 來測試..

我要發表回答

立即登入回答