crontab定时任务配置记录
一、前言
今天简单记录下crontab的配置
二、crontab目录
/etc/crontab 文件 这是系统运行的调度任务 /var/spool/cron 目录 用户自定义的crontab任务放在此目录下 ls –lrt /etc/cron* /etc/cron.deny 表示不能使用crontab命令的用户 /etc/cron.allow 表示能使用crontab命令的用户 默认情况下,cron.allow不存在,如果都存在,cron.allow优先
三、crontab命令语法
具体可 crontab --help 或者 man crontab|morecrontab –l //查看当前用户的定时任务 crontab –e //编辑当前用户的定时任务crontab –r //删除当前用户的定时任务
四、crontab任务格式
59 23 * * * /home/xxx/crontab/test.sh > /dev/null 2>&1 &前6列暂且用C1 - C6表示C1 分 (1-59)C2 时 (1-23,0表示子夜)C3 日 (1-31)C4 月 (1-12)C5 星期 (0-6,0表示星期天,1表示星期一,以此类推)C6 要运行的命令前5列表示 命令执行的频率,最小频率是每分钟一次,其中Cn的值可用四种形式表示:* , */n , T1-T2 , a,b,c 当C1 为 * 时,表示每分钟都要执行命令当C1 为 */n时,表示每隔n分钟执行一次命令当C1 为 T1-T2时,表示从 T1分钟 到 T2分钟时间内都要执行命令当C1 为 a,b,c 时,表示第 a,b,c 分钟都要执行命令示例调用:12 12 * * * /home/xxx/crontab/test.sh >/dev/null 2>&1 表示每天的12点12分 执行脚本*/2 * * * * /home/xxx/crontab/test.sh >/dev/null 2>&1表示每隔2分钟 执行一次脚本0 23 * * 1-5 /home/xxx/crontab/test.sh >/dev/null 2>&1表示每周一到周五的23点 执行一次脚本0 19 * * 0 mail -s "xxx" [email protected] < /tmp/maildata表示每周日的19点 发送邮件到 [email protected]
五、关于命令的说明
关于命令中 /dev/null 2>&1 的解释0 表示键盘输入1 表示标准输出2 表示错误输出1.创建test.sh,内容如下#! /bin/bashecho "time is " `date`2.添加定时任务* * * * * /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log & 默认是1,和下面方法一致* * * * * /home/xxx/crontab/test.sh 1> /home/xxx/crontab/test.log &* * * * * /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log 2>&1 &3.说明1代表,标准输出,所以上述命令会将脚本的输出结果,输出到后面指定的log文件中,而不是打印到屏幕;2代表,错误输出,&1表示文件的描述,这里表示脚本执行的错误信息重定向到1(标准输出)而1已经重定向到指定的log文件中,所以信息都会输出到log文件不能写成 2>1 ,缺少&,会认为是错误信息输出到名称为 1 文件中
六、注意事项
1.shell中需设置必要的环境变量 crontab的环境变量默认不包含系统当前用户的环境,所以需添加必要的环境变量2.尽量采用完整路径方法,避免使用相对路径3.避免脚本的重复执行 if(exec("ps -ef |grep 'php'|grep 'updateScript'|grep -v 'grep' |wc -l ") > 2){ die(); } grep -v 'grep' 表示结果去过滤掉 grep 那一行 wc -l 表示统计满足条件的行数 这样就可以判断 php进程中,名为 updateScript 的脚本 是否已经执行了
七、参考资料
http://www.cnblogs.com/kerrycode/p/3238346.htmlhttp://www.cnblogs.com/hazir/p/sudo_command.html

計算PHP多維數組的元素總數可以使用遞歸或迭代方法。 1.遞歸方法通過遍歷數組並遞歸處理嵌套數組來計數。 2.迭代方法使用棧來模擬遞歸,避免深度問題。 3.array_walk_recursive函數也能實現,但需手動計數。

在PHP中,do-while循環的特點是保證循環體至少執行一次,然後再根據條件決定是否繼續循環。 1)它在條件檢查之前執行循環體,適合需要確保操作至少執行一次的場景,如用戶輸入驗證和菜單系統。 2)然而,do-while循環的語法可能導致新手困惑,且可能增加不必要的性能開銷。

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函數進行快速哈希,但不適合密碼存儲。 2.使用sha256函數提高安全性。 3.使用password_hash函數處理密碼,提供最高安全性和便捷性。

在PHP中實現數組滑動窗口可以通過函數slidingWindow和slidingWindowAverage來完成。 1.使用slidingWindow函數可以將數組分割成固定大小的子數組。 2.使用slidingWindowAverage函數可以在每個窗口內計算平均值。 3.對於實時數據流,可以使用ReactPHP進行異步處理和異常值檢測。

PHP中的__clone方法用於在對象克隆時進行自定義操作。使用clone關鍵字克隆對象時,如果對像有__clone方法,會自動調用該方法,允許在克隆過程中進行定制化處理,如重置引用類型屬性以確保克隆對象的獨立性。

在PHP中,goto語句用於無條件跳轉到程序中的特定標籤。 1)它可以簡化複雜嵌套循環或條件語句的處理,但2)使用goto可能導致代碼難以理解和維護,3)建議優先使用結構化控制語句。整體而言,goto應謹慎使用,並遵循最佳實踐以確保代碼的可讀性和可維護性。

在PHP中,數據統計可以通過使用內置函數、自定義函數和第三方庫來實現。 1)使用內置函數如array_sum()和count()進行基本統計。 2)編寫自定義函數計算中位數等複雜統計。 3)利用PHP-ML庫進行高級統計分析。通過這些方法,可以高效地進行數據統計。

是的,PHP中的匿名函數是指沒有名字的函數。它們可以作為參數傳遞給其他函數,並作為函數的返回值,使代碼更加靈活和高效。使用匿名函數時需要注意作用域和性能問題。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境