Linux crontab下关于使用date命令和sudo命令的坑
Linux crontab下关于使用date命令和sudo命令的坑
想要在root 的crontab里面加一些任务计划,希望以www用户运行命令,并且将输出重定向到某处以当时时间命名的日志文件,大致如下
/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
但是,这里关于安全性方面有一点需要注意:
关于该配置项,说明如下Disable "ssh hostname sudo <cmd>", because it will show the password in clear.You have to run "ssh -t hostname sudo <cmd>".
该配置的作用是禁止执行"ssh hostname sudo <cmd>",因为这种方式会将sudo密码以明文显示,你可以运行"ssh -t hostname sudo <cmd>"来替代。开启的情况下,"ssh hostname sudo <cmd>"无法执行成功,关闭了之后,就没有这一层的检查了。
联想:想到top命令也是需要在终端下执行的,所以直接在shell脚本里调用top命令式无效的
转载来源:https://blog.csdn.net/kai404/article/details/52169122
Linux crontab下关于使用date命令和sudo命令的坑相关推荐
- linux系统下常用或有用的系统级命令
本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会 ...
- Linux的su命令,sudo命令和限制root远程登录
3.7 su命令: su命令是用来切换用户的,例如我要从root用户切换到user2用户: 这个 - 选项是彻底切换用户的意思,如果不加 - 选项也可以,但是切换得不彻底,例如当前的家目录还是ro ...
- linux sudo yum命令详解,每天一个Linux命令之sudo命令详解
Linux系统的sudo命令是切换用户身份的命令.下面由学习啦小编为大家整理了每天一个Linux命令之sudo命令详解,希望对大家有帮助! 每天一个Linux命令之sudo命令详解 sudo命令用来以 ...
- linux 压缩根目录文件,Linux操作系统下如何压缩文件? zip压缩命令使用
Linux zip命令用于压缩文件. zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件. 在linux操作系统中,使用zip命令进行文件压缩时 ...
- Linux系统下设置redis的密码 与 redis 命令
最近在linux服务器上需要安装redis,来存放数据,增加用户访问数据的速度,由于是第一次安装,于是在百度上搜了一篇文章,按照这篇博客,顺利安装好了,因此将博主的文章拷过来记录一下,方便以后使用,也 ...
- 【VP9】libvpx在Windows和Linux平台下的编译和vp9编解码器的命令行参数
=================================================================== 参考:https://www.cnblogs.com/endv/ ...
- Linux下如何配置普通用户的sudo命令权限?
背景 在Linux系统操作时,通常不会直接采用root用户.但当某些命令需要root权限执行时,往往会通过sudo命令提升当前用户的执行权限来完成. 如果普通用户并未进行配置相应的配置,则在使用sud ...
- 【已阅】Linux下的用户分类与su/sudo 命令,Linux下的文件类型/用户文件权限身份/文件权限属性/权限与文件权限/ls-l文件属性详解
Tips 下载就是把我们的文件拷贝到系统的某个特定路径之下,普通用户是不允许你往系统里面去拷的. Linux下的用户分类 root用户,管理员级别的用户身份,他的话基本上不受权限的约束. 普通用户,普 ...
- linux环境下如何部署war包及常用命令
linux环境下部署war包需要用到的一些命令 linux环境下部署war包 测试工具 常用的一些命令 对于使用navicat或者workbench进行脚本测试的一些注意事项执行 linux环境下部署 ...
最新文章
- python ‘float‘object is not iterable
- 前端开发工程师做些什么?
- 年终总结 | 2021红包点赞?(文末有刺激的福利哦)
- RabbitMQ—队列迁移插件shovel的使用
- ssh免密登录(普通用户和root用户)
- php进程SIGBUS,SIGSEGV错误
- Java网络编程从入门到精通(21):HTTP消息的格式
- 50 MM配置-库存管理和实际库存-自动建立库存地点
- win10 uwp 改变鼠标
- python文字转图片_技能:如何使用Python将文本转为图片
- Makefile:Makefile中的调试打印方法
- 在文件保存中 os.getcwd() os.listdir() os.makedirs() os.mkdir() xx.join() ... 等函数 的使用介绍...
- 保龄球计分c语言程序,求C语言代码解释(保龄球记分程序)
- SSM洗衣店管理系统
- elasticsearch-analysis-ik中文分词插件安装及配置Ik自定义词典+拼音分词
- ffmpeg 转换flv压缩大小_ffmpeg 转换 mp4 成 flv
- IT忍者神龟之小程序最全的微信小程序项目实例
- OpenStreetMap数据Qt5分析实战(基于2020数据)
- Python复数属性和方法操作实例
- SMETA认证辅导,审核结果可以得到所有SEDEX会员的认可并被他们共享
热门文章
- C# WinForm中的Label换行方法
- vs.php中使用apache或IIS7进行外部调试
- Bootstrap 3 响应式上传图片,时间拾取器和表单认证 Fileinput, Date/Time Pickr, Validator...
- 【必备】史上最全的浏览器 CSS JS Hack 手册
- Ubuntu中升级Firefox及flash player
- 在Ubuntu 13.10 下安装支持SSL的Apache
- TSVD截断奇异值分解
- K均值聚类关于初始聚类中心的探讨(matlab程序)
- Vim设置支持鼠标,光标定位,滚轮上下移动
- Leetcode算法题(C语言)2