是否可以使用PHP来创建,编辑和删除crontab作业?
我知道如何列出Apache用户的当前crontab作业:
$output = shell_exec('crontab -l');
echo $output;
Run Code Online (Sandbox Code Playgroud)
但是如何用PHP添加cron作业?'crontab -e'只会打开文本编辑器,您必须在保存文件之前手动编辑条目.
以及如何使用PHP删除cron作业?再次,您必须通过'crontab -e'手动执行此操作.
使用这样的作业字符串:
$job = '0 */2 * * * /usr/bin/php5 /home/user1/work.php';
Run Code Online (Sandbox Code Playgroud)
如何使用PHP将其添加到crontab作业列表?
一些cygwin命令是.exe文件,因此您可以使用标准Windows Scheduler运行它们,但是其他没有.exe扩展名,因此无法从DOS运行(看起来像).
比如我想updatedb每晚跑步.
我如何让cron工作?
我需要设置一个cron作业,每小时运行一次使用gcc编译的可执行文件.
我以root身份登录并输入 crontab -e
然后我输入以下内容并保存文件.
0 * * * * /path_to_executable
Run Code Online (Sandbox Code Playgroud)
但是,cron作业不起作用.
我看到当我输入时/...path_to_executable我得到了一个分段错误.我只能从它所在的文件夹中执行可执行文件.有没有办法可以解决这个问题?
我想知道是否有办法设置每分钟执行一次cronjob /任务.目前,我的任何实例都应该能够运行此任务.
这是我在配置文件中尝试做的事情没有成功:
container_commands:
01cronjobs:
command: echo "*/1 * * * * root php /etc/httpd/myscript.php"
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是正确的方法
有任何想法吗?
我在crontab中运行下一个命令来加密文件,我不想进行键盘交互
echo "PASSPHRASE" | gpg --passphrase-fd 0 -r USER --encrypt FILENAME.TXT
Run Code Online (Sandbox Code Playgroud)
但我有这个答案:
gpg: C042XXXX: There is no assurance this key belongs to the named user
pub 40XXX/C042XXXX 2012-01-11 Name LastName. (comment) <user@email.com>
Primary key fingerprint: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
Subkey fingerprint: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
It is NOT certain that the key belongs to the person named
in the user ID. If you *really* know what you are …Run Code Online (Sandbox Code Playgroud) 我在crontab上班途中遇到了问题.我想自动化MySQL数据库备份.
设置:
从shell开始,这个命令有效
mysqldump -u user -p[user_password] [database_name] | gzip > dumpfilename.sql.gz
Run Code Online (Sandbox Code Playgroud)
当我使用crontab -e将它放在crontab中时
* * /usr/bin/mysqldump -u user -pupasswd mydatabase | gzip> /home/user/backup/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
在/ home/user/backup目录中每分钟创建一个文件,但是有0个字节.
但是,当我将此输出重定向到第二个目录backup2时,我注意到在其中创建了正确压缩的正确mysqldump文件.我无法确定我在第一个目录中的0字节文件和第二个目录中的预期输出导致的错误是什么.
* * /usr/bin/mysqldump -u user -pupasswd my-database | gzip> /home/user/backup/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz >/home/user/backup2/mydatabase-backup-`date +\%m\%d_\%Y`.sql.gz 2>&1
Run Code Online (Sandbox Code Playgroud)
我非常感谢你的解释.
谢谢
在crontab中,我可以使用星号表示每个值,或者"*/2"表示每个偶数值.
有没有办法指定每个奇数值?(像"1 +*/2"这样的东西有用吗?)
我很熟悉使用crontab -e命令设置cron调度程序centos.但今天我发现我的一centos台服务器没有这个命令
我试过安装这个,yum install crontab但没有运气.然后我尝试了yum install crontabs它安装了一些东西
=============================================================================
Package Arch Version Repository Size
=============================================================================
Updating:
crontabs noarch 1.10-11.el5 base 7.0 k
Transaction Summary
=============================================================================
Install 0 Package(s)
Update 1 Package(s)
Remove 0 Package(s)
Total download size: 7.0 k
Is this ok [y/N]:
Run Code Online (Sandbox Code Playgroud)
但仍然crontab命令不起作用.如果我这样做,cat /etc/crontab它显示在下面的东西
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
40 * * * * root run-parts /etc/cron.hourly
54 1 * * * root run-parts /etc/cron.daily …Run Code Online (Sandbox Code Playgroud) 这是将cron作业设置为每3小时运行一次的正确方法吗?以这种方式设置后,cron每分钟执行一次命令.
