Crontab實例

cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由于Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:

/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置

你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start

現在Cron這個服務已經在進程里面了,我們就可以用這個服務了,Cron服務提供以下幾種接口供大家使用:

1、直接用crontab命令編輯

cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:

crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除某個用戶的cron服務
crontab -e //編輯某個用戶的cron服務

比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

這個格式的前一部分是對時間的設定,后面一部分是要執行的命令,如果要執行的命令太多,可以把這些命令寫到一個腳本里面,然后在這里直接調用這個腳本就可以了,調用的時候記得寫出命令的完整路徑。時間的設定我們有一定的約定,前面五個*號代表五個數字,數字的取值范圍和含義如下:

分鐘 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天

除了數字還有幾個個特殊的符號就是”*”、”/”和”-“、”,”,*代表所有的取值范圍內的數字,”/”代表每的意思,”*/5″表示每5個單位,”-“代表從某個數字到某個數字,”,”分開幾個離散的數字。以下舉幾個例子說明問題:

每天早上6點

0 6 * * * echo “Good morning.” >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,因為cron把任何輸出都email到root的信箱了。

每兩個小時

0 */2 * * * echo “Have a break now.” >> /tmp/test.txt

晚上11點到早上8點之間每兩個小時,早上八點

0 23-7/2,8 * * * echo “Have a good dream:)” >> /tmp/test.txt

每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點

0 11 4 * 1-3 command line

1月1日早上4點

0 4 1 1 * command line

每次編輯完某個用戶的cron設置后,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在這個文件中,這個文件是不可以直接編輯的,只可以用crontab -e 來編輯。cron啟動后每過一份鐘讀一次這個文件,檢查是否要執行里面的命令。因此此文件修改后不需要重新啟動cron服務。

2、編輯/etc/crontab 文件配置cron

cron服務每分鐘不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用 cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號

HOME=/ //使用者運行的路徑,這里是根目錄

# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本

大家注意”run-parts”這個參數了,如果去掉這個參數的話,后面就可以寫要運行的某個腳本名,而不是文件夾名了。
————————————–

基本格式 :
*  *  *  *  *  command
分 時 日 月 周 命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啟lighttpd 。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重啟lighttpd 。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重啟lighttpd 。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟lighttpd 。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啟lighttpd 。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啟lighttpd

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,每隔一小時重啟lighttpd

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號與每周一到周三的11點重啟lighttpd

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號的4點重啟lighttpd

原文:http://www.cublog.cn/u/31547/showart_438018.html

QuickWeb VPS設置及數據備份

解決apache亂碼問題
環境安裝好后,運行GBK編碼的網站,你會發現網頁顯示的是亂碼,因為apache的默認配置是utf-8
修改apache的配置文件/etc/httpd/conf/httpd.conf

1
AddDefaultCharset UTF-8

改為

1
AddDefaultCharset off

或者修改.htaccess文件,加如下代碼(也可以直接用你的網站編碼,如:GBK)

1
AddDefaultCharset off

讓apache支持.htaccess
修改apache的配置文件/etc/httpd/conf/httpd.conf

1
2
3
4
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

改為

1
2
3
4
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

注意修改httpd.conf要重啟apache

1
/etc/init.d/httpd reload

備份數據庫及網站文件腳本

1
vi /home/backup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#! /bin/php

# MYSQL Setup
DUMP=mysqldump
DBUSER=USER
DBPASS=PASS

# Backup Path
DATADIR=/home/wwwroot
BAKDIR=/home/backup
DATETIME=$(date -d now +%Y%m%d)

# FTP Setup
FTPHOST=HOST
FTPUSER=USER
FTPPASS=PASS

# MKDIR
if [ ! -d $BAKDIR ]; then
 mkdir -p $BAKDIR
fi

# DEL Backup
rm -fr $BAKDIR/data_*.gz

# Backup MYSQL
$DUMP -u$DBUSER -p$DBPASS --all-databases --lock-all-tables | gzip > $BAKDIR/data_mysql_$DATETIME.sql.gz

# Backup Files
tar czPf $BAKDIR/data_files_$DATETIME.tar.gz $DATADIR

# Put data
ftp -n $FTPHOST << EOF
user $FTPUSER $FTPPASS
type binary
put data_mysql_*.gz
put data_files_*.gz
close
quit
EOF

其中的用戶名和密碼以及備份的路徑都改成你網站的。
在SSH中執行

1
2
cd /home
./backup.sh

就會自動備份數據庫及網站文件到你設定的另一個FTP上去

我們還可以設置自動運行這段腳本,讓它在每個星期的3和7自動備份

1
2
crontab –e
0 0 * * 3,7 /bin/php /home/backup.sh

數據庫恢復

1
mysqldump -u用戶名 -p密碼 -h主機 數據庫 < 路徑

例如:

1
mysql -uUSER -pPASS DBNAME < /home/backup/bak.sql

VPS LAMP環境安裝可參考QuickWeb VPS之LAMP環境安裝
VPS FTP及PHPMyAdmin安裝可參考QuickWeb VPS之vsftpd,phpmyadmin安裝
crontab的用法可以看Crontab實例

替換coolcode代碼高亮插件為wp-syntax

終于把coolcode代碼高亮插件替換為wp-syntax,wp-syntax 使用簡單,顯示方式簡潔,視覺感官利落,對W3C也友好。

首先下載安裝好wp-syntax,激活插件。
進入PHPMYADMIN替換原來coolcode的插件代碼

1
2
UPDATE `wp_posts` SET `post_content` = replace (`post_content`,'<coolcode','<pre');
UPDATE `wp_posts` SET `post_content` = replace (`post_content`,'</coolcode','</pre');

wp-syntax是用以下代碼,設置對應參數來完成 wp-syntax 高亮代碼顯示的,編輯文章時,選擇HTML模式下
<pre lang=”LANGUAGE” line=”1″>要顯示的代碼</pre>
相關參數說明:
lang=”LANGUAGE”,在language處填寫你要運行的代碼語言,如css、php、html、javascript等;
line=”1″,1表示代碼從第一行開始顯示,可以不寫,不寫為全部顯示。

wp-syntax 還支持下面代碼:
abap, actionscript, actionscript3, ada, apache, applescript, aptsources, asm, asp, autoit, avisynth, bash, bf, blitzbasic, bnf, boo, c, cmac, caddcl, cadlisp, cil, cfdg, cfm, cobol, cpp-qt, cpp, csharp, css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, fortran, freebasic, genero, gettext, glsl, gml, bnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, locobasic, lolcode lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle11, oracle8, pascal, per, pic16, pixelbender, perl, php-brief, php, plsql, povray, powershell, progress, prolog, providex, python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, xml, xorg_conf, xpp, z80

如果你嫌每次都要切換到HTML模式,手工添加麻煩的話,你還可以利用WP-Syntax Button插件添加按鈕到編輯框中。

eho.st免費空間PHP+MYSQL

2G/5G/PHP/MYSQL/LP/FTP/綁米/無廣告/eho.st

FreeWebhosting Features:

* * FREE 2GB Disk Space
* * FREE 5GB Bandwidth
* * FREE Php5 support
* * FREE 10 mySQL DB’s
* * Pre-installed scripts
* * Incredible support
* * Powerful server network (100mbps port speed!)

* * No forced ads
* * Free web statistics (awstats)
* * Full FTP Access
* * Instant activation
* * Domain Name Support
* * yourname.eho.st
* * and so much more…
* server monitor
繼續閱讀

dreamhost空間MYSQL數據庫備份方法

如何利用SSH(Shell)來備份和恢復MySQL數據庫的方法
例如:
數據庫參數為::
MySQL地址:mysql.dh.net
MySQL名稱:mysql_dbname
MySQL用戶:mysql_dbuser
MySQL密碼:mysql_dbpass

我要把數據庫備份為bak.sql

步驟:
同樣,使用windows系統自己帶的telnet或者去下載一個putty來,登陸以后,一路cd到自己覺得合適的目錄下(確認當前目錄可寫).
輸入下面的命令:
mysqldump -h mysql.dh.net -p mysql_dbname -u mysql_dbuser >bak.sql
然后回車,提示你輸入數據庫登陸密碼,輸入完密碼后回車,OK! 就把數據庫備份到當前目錄下了

如何恢復bak.sql數據庫:::
輸入下面命令后回車
mysql -h mysql.dh.net -p mysql_dbname -u mysql_dbuser
提示你輸入密碼,輸入密碼后然后回車
會出現MySQL操作提示符號
然后輸入下面的命令
source bak.sql
請先確認bak.sql這個文件再當前目錄下
回車.OK,恢復ing…..

幾個免費PHP+MySQL空間

9999mb.com
優點:
存儲空間:10GB
空間流量:100GB/mo
頂級域名綁定:1個
MySQL數量:5個
數據庫用戶: 5個
管理: Panel管理,支持Web上傳,Phpmyadmin管理數據庫。
技術支持:7×24
缺點:
文件類型限制,常見的mp3/rar/zip文件無法上傳。文件大小限定在750kb。有廣告。
申請地址: www.9999mb.com

speqo.com
配置:
5 GB Disk Space
50 GB Bandwidth
50 MySQL Databases
50 Email Accounts
50 Subdomains
cPanel后臺,一個頂級域名和50個2級域名綁定。
最重要的是,幾乎沒有FTP上傳限制,并且不用放任何廣告。
探針探出的服務器配置如下:
CPU個數: 4
類型:Dual Core AMD Opteron(tm) Processor 265 緩存:1024 KB
類型:Dual Core AMD Opteron(tm) Processor 265 緩存:1024 KB
類型:Dual Core AMD Opteron(tm) Processor 265 緩存:1024 KB
類型:Dual Core AMD Opteron(tm) Processor 265 緩存:1024 KB
物理內存:共 3964.17 M, 已使用 3674.98 M, 空閑 289.19 M, 使用率 92.7 %
申請地址: www.speqo.com

繼續閱讀

免費MySQL數據庫

Db4free:專業提供免費數據庫服務,支持 MySQL 5.0,5.1,支持使用Phpmyadmin進行管理,以后還將擴展支持PostgreSQL, Firebird 等數據庫

如果你只有php空間沒有mysql數據庫支持,可以嘗試db4free提供的服務,比較穩定,不過相對國內來講速度不算快,可以拿來做測試用

Mysql+Apche+PHP+Phpmyadmin+Zend安裝教程

一、安裝Apache_2.0.53

1. 運行apache_2.0.53-win32-x86-no_ssl.msi
(1) Network domain和Server Name:網站的domain name,例www.aaa.com.cn,推薦填localhost,server name也為 localhost,類推。
(2) Administrator’s Email Address:管理者電子郵件。
(3) 選for All Users, on port 80, as a Service。(對本機所有用戶有效)
(4) The installation type:選typical。
(5) Where to install:最好選默認安裝,以后會省很多麻煩:
c:\Program Files\Apache Group\,然后開始安裝。(如果你裝了如瑞星等防火墻軟件,最好這時待在電腦旁,否則防火墻會彈出是否允許Apache訪問網絡的選項,不點則自動讀秒后默認為阻止,記得點是。)
安裝完成,桌面右下角系統欄會出現Apache圖標,開啟狀態應有綠色小箭頭)。在瀏覽器輸入http://localhost/http://127.0.0.1/,會出現帶Apcache羽毛標志的歡迎信息,說明安裝成功。

下面開始進行設置:
進入C:\Program Files\Apache Group\Apache2\conf\目錄,用記事本打開httpd.conf文件:(別象我一樣被N多設置嚇住,如果你想速成,那么帶#的句子其實你可以直接跳過不看,直接用記事本搜索相關內容更改。用#標注的都是對該項設置的注釋說明文件,要修改的正文通常在注釋的下面點,如果你E文湊合或者有合適電子字典,你會發現大部分句子也能讀懂,)

繼續閱讀