欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

crontab執(zhí)行失敗的原因及一些解決辦法

 更新時間:2024年04月03日 08:37:17   作者:cifangyiquan  
crontab 是Linux和Unix-like系統(tǒng)中用于設置周期性被執(zhí)行的任務的工具,cron 是一個守護進程,可以定期檢查 crontab 文件,并執(zhí)行其中定義的命令,本文給大家介紹了crontab執(zhí)行失敗的原因及一些解決辦法,需要的朋友可以參考下

crontab介紹

crontab 是Linux和Unix-like系統(tǒng)中用于設置周期性被執(zhí)行的任務的工具。cron 是一個守護進程,可以定期檢查 crontab 文件,并執(zhí)行其中定義的命令。crontab 文件包含了指令,這些指令告訴 cron 何時運行哪些命令。
crontab 的基本組成如下:

  • • 分鐘(0 - 59)
  • • 小時(0 - 23)
  • • 日期(1 - 31)
  • • 月份(1 - 12)
  • • 星期幾(0 - 7,其中0和7都代表星期天)
    一個典型的 crontab 任務看起來像這樣:
*/5 * * * * /bin/echo 'Hello, World!' >> /tmp/cron_output.txt

這個例子中的任務每5分鐘執(zhí)行一次,運行 echo 命令輸出 "Hello, World!",并將其追加到 /tmp/cron_output.txt 文件中。
用戶可以通過 crontab -e 命令編輯自己的 crontab 文件。初次使用時會提示選擇編輯器,如 vinano 等。保存并退出編輯器后,cron 會自動加載更改。
crontab 還支持使用特定的時間表來執(zhí)行任務,例如:

  • 0 0 * * * 每天午夜執(zhí)行
  • 0 9 * * 1 每周一的早上9點執(zhí)行
  • 0 22 * * Fri 每周五晚上10點執(zhí)行
    此外,crontab 還允許使用特殊字符來表示時間間隔,如:
  • * 表示任意值
  • , 表示列出枚舉值
  • - 表示范圍
  • / 表示時間間隔
    例如,*/2 * * * * 表示每兩分鐘執(zhí)行一次任務。
    使用 crontab 需要注意權限和安全性問題,確保僅運行必要的任務,并避免運行有潛在風險的命令。同時,crontab 的輸出默認會通過郵件發(fā)送給用戶,因此建議將輸出重定向到文件中,以免郵箱被大量日志信息填滿。

在ubuntu執(zhí)行時遇到的一些問題

1. 日志在哪[1]

linux/mac 下默認日志會在syslog里面。路徑:

路徑:/var/log/syslog
備份在/var/log/syslog.*

可以通過查看

grep CRON /var/log/syslog

2. source: not found[2]

crontab沒有執(zhí)行成功。一般我們會使用source ~/.bashrc來引入環(huán)境變量。但發(fā)現(xiàn)執(zhí)行錯誤:

source: not found

這是由于在ubuntu下,默認的sh不是bash而是dash。

可以使用下面的命令驗證:

$ ls -l /bin/sh

如果輸出是:

/bin/sh -> dash

說明使用的sh是dash。

接下來就是將默認的shell換成bash

$ sudo dpkg-reconfigure dash

選擇no就可以了。

可以再次使用驗證

$ ls -l /bin/sh
/bin/sh -> bash

3. XXX: command not found[3]

python: command not found
scrapy: command not found
...

我們已經(jīng)成功source ~/.bashrc,但還是發(fā)現(xiàn)明明在.bashrc中配置了PATH的命令卻還是提示找不到。

這時候可以通過輸入完整命令路徑解決,如:

/home/cifangyiquan/miniconda3/bin/python main.py

但這不是問題的根本原因

這個是由于默認的~/.bashrc里,如果不是交互式,則不進行后面的操作,導致一般后面的配置沒有生效。需要修改一下.bashrc文件:

  1 # ~/.bashrc: executed by bash(1) for non-login shells.
  2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
  3 # for examples
  4
  5 # If not running interactively, don't do anything
  6 case $- in
  7     *i*) ;;
  8       *) return;;
  9 esac
 10

修改方法也很簡單,注釋調第8行的return即可。

  8 #      *) return;;

到此這篇關于crontab執(zhí)行失敗的原因及一些解決辦法的文章就介紹到這了,更多相關crontab執(zhí)行失敗內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論