一、啟動mysql數(shù)據(jù)庫
/
usr
/
local
/
mysql
/
bin
/
mysqld_safe?
-
user
=
mysql?
&
二、編寫sql腳本
SET
?
@TableName
=
CONCAT(
'
sendrecord
'
,DATE_FORMAT(DATE_SUB(CURDATE()?,INTERVAL?
1
?
month
),
'
%Y%m
'
));?
SET
?
@BeginTime
=
DATE_SUB(DATE_SUB(CURDATE(),?INTERVAL?DAYOFMONTH(CURDATE())
-
1
?
day
),INTERVAL?
1
?
month
);?
SET
?
@EndTime
=
DATE_SUB(CURDATE(),?INTERVAL?DAYOFMONTH(CURDATE())
-
1
?
day
);?
SET
?
@CreateSqlStr
=
CONCAT("
CREATE
?
TABLE
?`",
@TableName
,"`?
AS
?
SELECT
?
*
?
FROM
?sendrecord?
WHERE
?sendtime?
>
?
'
",cast(@BeginTime?as?char),"?00:00:00
'
?
and
?sendtime?
<
?
'
",cast(@EndTime?as?char),"?00:00:00
'
");?
SELECT
?
@CreateSqlStr
;?
PREPARE
?CR?
FROM
?
@CreateSqlStr
;?
EXECUTE
?CR;

SET
?
@DeleteSqlStr
=
CONCAT("
DELETE
?
FROM
?sendrecord?
WHERE
?sendtime?
>
?
'
",cast(@BeginTime?as?char),"?00:00:00
'
?
and
?sendtime?
<
?
'
",cast(@EndTime?as?char),"?00:00:00
'
");?
SELECT
?
@DeleteSqlStr
;?
PREPARE
?DE?
FROM
?
@DeleteSqlStr
;?
EXECUTE
?DE;

SET
?
@CommitSqlStr
=
CONCAT("
COMMIT
");?
SELECT
?
@CommitSqlStr
;?
PREPARE
?CO?
FROM
?
@CommitSqlStr
;?
EXECUTE
?CO;
三、編寫sh腳本
#
!/bin/sh
PATH
=/
opt
/
mono
/
bin
:/
usr
/
kerberos
/
sbin
:/
usr
/
kerberos
/
bin
:/
usr
/
local
/
sbin
:/
usr
/
local
/
bin
:/
sbin
:/
bin
:/
usr
/
sbin
:/
usr
/
bin
:/
usr
/
X11R6
/
bin
:/
usr
/
local
/
java
/
bin
:/
root
/
bin
:/
usr
/
local
/
mysql
/
bin
export?PATH

mysql?
-
uxuanwu?
-
p123456?
<<
EOF
use
?xuanwu;
source?
/
root
/
Toby
/
create
.
sql
此腳本需注意必段段導入path變量才行,mysql連接-u-p后面跟的值無需空格才行的
四、啟動crontab
56
?
16
?
16
?
*
?
*
?
/
root
/
Toby
/
ts
.
sh?
>>
?
/
tmp
/
backup
.
txt
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數(shù)與說明:
crontab -u //設定某個用戶的cron服務,一般root用戶在執(zhí)行這個命令的時候需要此參數(shù)
crontab -l //列出某個用戶cron服務的詳細內(nèi)容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
這個格式的前一部分是對時間的設定,后面一部分是要執(zhí)行的命令,如果要執(zhí)行的命令太多,可以把這些命令寫到一個腳本里面,然后在這里直接調用這個腳本就可以了,調用的時候記得寫出命令的完整路徑。時間的設定我們有一定的約定,前面五個*號代表五個數(shù)字,數(shù)字的取值范圍和含義如下:
分鐘 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了數(shù)字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*代表所有的取值范圍內(nèi)的數(shù)字,"/"代表每的意思,"*/5"表示每5個單位,"-"代表從某個數(shù)字到某個數(shù)字,","分開幾個離散的數(shù)字