以普通使用者執行定時任務(crontab)

2021-10-03 18:30:36 字數 1259 閱讀 4249

(用root許可權執行下面命令)

1、以普通使用者test1開啟乙個定時任務

crontab -e -u test1
#!/bin/bash

declare -i i=0

while

((i<=2))

doecho

"normal user can perform crontab!!! >>/home/test1/printcontent.txt

let i++

done

time1=$(date "+%y-%m-%d %h:%m:%s")

echo

$time1

3、將所有與定時任務相關檔案的所有者設定成使用者test1

chown -r test1:test1 /home/test1/
4、可以檢視日誌、郵件,來檢視執**況(每執行一次定時任務會發一封郵件到使用者的郵箱):

檢視定時日誌:

tail -f /var/log/cron
檢視使用者test1的郵箱,有列印執行指令碼的時間,無報錯,即執行定時任務成功:

注意 :

當程式在你所指定的時間執行後,系統會發一封郵件給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之後加上 > /dev/null 2>&1。

補充:/bin/systemctl start crond.service 啟動crond

/bin/systemctl restart crond.service 重啟crond

/bin/systemctl stop crond.service 停止crond

/bin/systemctl reload crond.service 重新載入crond配置

/bin/systemctl status crond.service 檢視crond狀態

crontab –e : 修改 crontab 檔案. 如果檔案不存在會自動建立。

crontab –l : 顯示 crontab 檔案。

crontab -r : 刪除 crontab 檔案。

crontab -ir : 刪除 crontab 檔案前提醒使用者。

普通使用者 crontab 任務不執行

今天發如今linux下,普通使用者的crontab任務不執行。網上搜了好多。好多說要在執行的指令碼前面加上例如以下內容 if f bash profile then bash profile fi加了之後測試,沒有不論什麼作用。不知道是不是僅僅有執行指令碼在使用者根資料夾才有作用。最後發現要在指令碼...

普通使用者crontab不執行原因

今天我發現我寫的cron竟然沒執行,然後在cron log裡發現下面的資訊 cron failed to open pam security session,cannot set security context 出現類似現象一般原因有二 1 的使用者資訊在shadow裡不存在 2 需要改密碼了,可...

用普通使用者啟動執行redis

因為安全的問題,需要將系統中root執行的redis服務轉為普通使用者執行,提高安全性,具體系統環境如下 groupadd admin 新建admin使用者組 useradd boy g admin 新建使用者boy並加入admin組中2.將redis的配置檔案複製乙份到boy使用者的家目錄下 cp...