windows和linux定时任务

来源:互联网 发布:搬瓦工 centos 6 7 编辑:程序博客网 时间:2024/05/29 17:55

如何在linux下完成定时任务:

linux如何备份.

1. 直接执行PHP脚本, 需要在同一个服务器上执行.

# crontab -e

00 * * * * /usr/local/bin/php /home/htdocs/phptimer.php

2.通过HTTP请求来触发脚本, PHP文件允许不在同一服务器上

# crontab -e

00 * * * * /usr/bin/wget -q -O temp.txt http://www.phptimer.com/phptimer.php

上面是通过wget来请求PHP文件, PHP输出会保存在临时文件temp.txt中

# crontab -e

00 * * * * /usr/bin/curl -o temp.txt http://www.phptimer.com/phptimer.php

上面是通过curl -o来请求PHP文件, PHP输出会保存在临时文件temp.txt中

# crontab -e

00 * * * * lynx -dump http://www.phptimer.com/phptimer.php

上面是通过Lynx文本浏览器来请求PHP文件


① 手动备份数据库(表的)方法

 

cmd控制台:

mysqldump –u root –proot 数据库 [表名表名2..]  > 文件路径

比如temp数据库备份到 d:\temp.bak

mysqldump –u root –proot temp > d:\temp.bak

如果你希望备份是,数据库的某几张表

mysqldump –u root –prot temp dept > d:\temp.dept.bak

 

如何使用备份文件恢复我们的数据.

mysql控制台

source d:\temp.dept.bak

 

② 使用定时器来自定完成

 

把备份数据库的指令,写入到 bat文件然后通过任务管理器去定时调用 bat文件.

 

mytask.bat 内容是:

C:\myenv\mysql5.5.27\bin\mysqldump -u root -proot temp dept > d:\temp.dept.bak

 

☞ 如果你的mysqldump.exe文件路径有空格,则一定要使用 “” 包括.

 

mytask.bat 做成一个任务,并定时调用在 2:00 调用一次

 

 

步骤 任务计划->增加一个任务,选中你的mytask.bat文件 ,最后配置:


测试ok

 

现在问题是,每次都是覆盖原来的备份文件,不利用我们分时间段进行备份我们可以这样处理示意图:



代码是:

mytask2.bat 内容:

C:\myenv\php-5.3.5\php.exe C:\myenv\apache\htdocs\mytask.php

mytask.php代码:

 

<?php

 

//定时备份我们的数据库文件

date_default_timezone_set('PRC');

 

$bakfilename=date("YmdHis",time());

 

$command="C:\myenv\mysql5.5.27\bin\mysqldump -u root -proot temp dept > d:\\{$bakfilename}";

 

exec($command);

 

最后测试ok!

 

作用是,写一个数据库数据库中有三张表,然后每天 2:00 备份一次,文件名以时间来命名测试.


原创粉丝点击