Linux下计划文件压缩和ftp备份
一、首先实现 linux 文件压缩打包
1、压缩为 *.tar.gz 文件
Linux tar 命令说明
参数:
-c :建立一个压缩档案的参数指令(create 的意思);
-x :解开一个压缩档案的参数指令!
-t :查看 tarfile 里面的档案!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示档案!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
参考:http://www.jmxzw.com/Website/Content.php?Dirpath=Experience&path=zy4.txt&pic=&Name=zy4.txt&id=1
分卷压缩:http://www.jmxzw.com/Website/Content.php?Dirpath=Experience&path=zy4.txt&pic=0&Name=zy4.txt&id=8
2、压缩为 *.zip 文件
参考:http://www.jmxzw.com/Website/Content.php?Dirpath=Experience&path=zy4.txt&pic=&Name=zy4.txt&id=2
二、实现Liunx计划任务
登入后:
crontab -l # 查看计划任务
crontab -e # 编辑计划
[insert] # 按键盘插入
*/1 * * * * sh /home/cp.sh # 每分钟执行 home 路径下的sh文件
0 2 * * * rm /home/ftp/1520/jmxzw_com-20111227-kMl/jmxzw.zip # 每天2小时内 执行删除命令
0 2 * * * zip -r /home/ftp/1520/jmxzw_com-20111227-kMl/jmxzw.zip /home/ftp/1520/jmxzw_com-20111227-kMl/jmxzw.com
0 */6 * * * sh /home/cp.sh #每隔6小时执行一次
0 */1 * * * sh /home/xmoline.sh #每隔1小时执行一次
:wq # 保存编辑结果
service crond restart #重启生效
crontab -l # 最后再次查看计划任务
参考:http://www.jmxzw.com/Website/Content.php?Dirpath=Experience&path=zy4.txt&pic=0&Name=zy4.txt&id=4
http://blog.csdn.net/tianlesoftware/article/details/5315039
http://www.360doc.com/content/10/1125/16/3894454_72344887.shtml
shell 参考:http://www.jmxzw.com/Website/Content.php?Dirpath=Experience&path=zy4.txt&pic=&Name=zy4.txt&id=5
vim编辑器参考:
http://www.jmxzw.com/Website/Content.php?Dirpath=Experience&path=zy4.txt&pic=&Name=zy4.txt&id=5
三、FTP自动备份
1、shell 操作
=============================================
ftp -n
open 85.195.104.20
user usr_ftp_153439 CSW520Lss23
-------------------------------------------
Connected to 85.195.104.20 (85.195.104.20).
220 Welcome on CwCity's FTP Server! Note: NO forbidden files (.exe .mp3 .pif .vid .ace .msi .wma .mid .scr) MaxFileSize: 10MB!
Name (85.195.104.20:root): usr_ftp_153439
-------------------------------------------
cd /htdocs/back
lcd /home
put jmxzw.tar.gz
bye
2、脚本编写(保存为 ftp.sh 文件)
#!/bin/bash
ftp -n 85.195.104.20 <<eof #连接地址
user usr_ftp_153439 CSW520Lss23 #用户账号密码
cd /htdocs/back #打开远程目录
lcd /home/ftp/1520/jmxzw_com-20111227-kMl/jmxzw.com/back #打开本地目录
put jmxzw.tar.gz #传输文件
bye
然后chmod a+x /home/ftp.sh \\ 给ftp.sh可执行的权限
执行脚本
sh /home/ftp.sh
四、linux自动执行php脚本
首先,确认 PHP 可执行文件的位置 —— 对于大多数 Linux 系统,几乎肯定是 /usr/bin/php。如果不确定其位置,请在命令行中键入 which php 并查看响应内容。
其次,键入以下代码,确保将 /usr/bin/php 替换为 PHP 可执行文件的实际路径。
<?php
#!/usr/bin/php -q
print date("Y-m-d H:i:s")."\n";
?>
权限
#chmod +x test.php
然后在linux命令行下输入:php -q *.php
在centos下 先使用 yum install php 安装php
下载脚本