Linuxcrontab下關於使用date命令和sudo命令的坑
想要在root 的crontab裡面加一些任務計劃,希望以www使用者執行命令,並且將輸出重定向到某處以當時時間命名的日誌檔案,大致如下
1
|
/usr/bin/sudo -u www /usr/local/php/bin/php /www/open/www .php &> /var/log/xxx_cron_log/www_ $( date + "%Y%m%d_%H:%M" ).log
|
此處有兩個坑:
1、習慣上的`date +”%Y%m%d_%H:%M”` 和 $(date +”%Y%m%d_%H:%M”)在crontab下不起作用,需採用如下形式 `date +”\%Y\%m\%d_\%H:\%M”` 和 $(date +”\%Y\%m\%d_\%H:\%M”)
2、直接在crontab裡以sudo執行命令無效,會提示 sudo: sorry, you must have a tty to run sudo .需要修改/etc/sudoers,執行visudo或者vim /etc/sudoers 將”Defaults requiretty”這一行註釋掉。因為sudo預設需要tty終端,而crontab裡的命令實際是以無tty形式執行的。註釋掉”Defaults requiretty”即允許以無終端方式執行sudo
聯想:想到top命令也是需要在終端下執行的,所以直接在shell指令碼里呼叫top命令式無效的
本文轉自kai404 51CTO部落格,原文連結:http://blog.51cto.com/kaifly/1627658,如需轉載請自行聯絡原作者
相關文章
- Linux命令su、sudo、sudo su、sudo -i使用和區別Linux
- linuxsu和sudo命令的區別Linux
- Linux 命令 su 和 sudo 的區別Linux
- Linux下crontab命令的用法:sudo crontab -lLinux
- 8個Date命令使用示例
- 使用 sudo 命令出現錯誤
- Linux date命令Linux
- ansible基於密碼sudo執行命令密碼
- 6個超實用的Sudo命令使用技巧
- 深度解析!Linux 命令 su 和 sudo 的區別Linux
- Linux 中date命令Linux
- Linux基礎命令---sudoLinux
- Linux基礎命令—sudoLinux
- linux 中 date命令的用法Linux
- linux的date命令設定Linux
- 威力強大的Linux sudo 命令Linux
- Git命令的使用和相關配置Git
- sudo以其他使用者身份身份執行命令-linux命令學習Linux
- windows下tftp命令,windows如何使用 tftp 和 telnet 命令WindowsFTP
- Linux基礎命令—dateLinux
- Linux基礎命令---dateLinux
- Windows 批處理之DATE命令的使用方法Windows
- 關於oracle的Spool命令Oracle
- windows下tftp命令,windows 7 如何使用 tftp 和 telnet 命令WindowsFTP
- [20191128]date命令別名.txt
- sed命令和find命令的結合的使用
- Linux入門_基礎命令_使用者和組相關命令Linux
- Dreamweaver關於媒體查詢命令的使用方法
- [20211213]完善date命令別名.txt
- Linux 系統中 sudo 命令的 10 個技巧Linux
- 關於 sudo 的那些事兒
- linux命令大全-linux命令使用和管理Linux
- [20210410]關於time命令的解析.txt
- 如何在命令列中使用 ftp 命令上傳和下載檔案命令列FTP
- windows 下使用 phpunit 命令WindowsPHP
- CentOS8關於防火牆的命令CentOS防火牆
- 譯| 關於 Unix 命令 `yes` 的小故事
- Linux shutdown關機命令的基本使用!Linux
- 完美解決呼叫“sudo rosdep init“命令時的報錯ROS