您的位置:首页 > 运维架构 > Linux

windows和linux定时任务

2013-11-09 10:31 246 查看
如何在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 数据库 [表名1 表名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 备份一次,文件名以时间来命名. 测试.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: