怎么编写 crontab 文件

发表于:2007-05-26来源:作者:点击数: 标签:
请教各位高手: 怎么编写crontab文件.完成以下功能: 每周自动执行将一文件夹的内容备份,并且文件名字以生成的日期命名. 谢谢!!! weixinc 回复于:2004-02-20 13:57:09 4223**1/opt/back_file.sh/dev/null2/dev/null 假设备份程序为back_file.sh 将上述语句加

请教各位高手:

怎么编写crontab 文件.完成以下功能:
每周自动执行将一文件夹的内容备份,并且文件名字以生成的日期命名.


谢谢!!!

 weixinc 回复于:2004-02-20 13:57:09
42 23 * * 1 /opt/back_file.sh     > /dev/null 2>/dev/null

假设备份程序为back_file.sh     
将上述语句加入crontab后将在每周一的23点42分开始执行

 黄虫 回复于:2004-02-20 14:07:05
谢谢!
backfile.sh 怎么编写,我对sh 语句不懂

 weixinc 回复于:2004-02-20 14:36:23
#!/bin/csh
set TargetDir=`date '+%Y%m%d'`
echo $TargetDir
cp -r /tmp/a /tmp/"$TargetDir"

 黄虫 回复于:2004-02-20 14:51:27
谢谢!
我试试!

 黄虫 回复于:2004-02-20 15:32:18
实现不了,shell都没办法调用

 zhongsy 回复于:2004-02-20 15:44:12
[quote:36917a0f49="weixinc"]42 23 * * 1 /opt/back_file.sh     > /dev/null 2>/dev/null

假设备份程序为back_file.sh     
将上述语句加入crontab后将在每周一的23点42分开始执行[/quote:36917a0f49]

/dev/null 2>/dev/null
有什么用?

 黄虫 回复于:2004-02-20 16:42:09
backfile.sh 不能执行

 beginner-bj 回复于:2004-02-20 20:23:01
chmod +x backfile.sh

 黄虫 回复于:2004-02-23 09:49:08
权限是够了.运行是提示不能执行

 lycxlove 回复于:2004-02-23 10:10:31
环境变量的问题吧

 黄虫 回复于:2004-02-23 10:17:21
能不能说详细点,谢谢!

 黄虫 回复于:2004-02-23 10:47:48
当我运行backfile 时,

提示:cp: /tmp and /tmp are identical 
得不到targetdir

 黄虫 回复于:2004-02-23 11:35:44
在backfile.sh 语句中.是不是还要添加 mkdir
但是命令出错!


怎么办?

 coolbzk 回复于:2004-02-23 11:42:55
我也想知道啊 ,呼唤高手,555~~~

 黄虫 回复于:2004-02-23 11:57:17
高手!!斑竹帮帮忙!

 黄虫 回复于:2004-02-23 12:24:59
高手!帮帮忙呀

 C.Arthur 回复于:2004-02-23 12:34:02
backfile.sh怎么写的?贴一下

 黄虫 回复于:2004-02-23 13:01:32
#!/bin/sh 
set TargetDir=`date '+%Y%m%d'` 
echo $TargetDir 
cd /tmp
mkdir $TargetDir
cp -r /tmp/  /tmp/"$TargetDir"



 就是不能实现

 C.Arthur 回复于:2004-02-23 13:33:13
#!/bin/sh 
TargetDir=`date '+%Y%m%d'` 
export TrggetDir
echo $TargetDir 
cd /tmp 
mkdir $TargetDir 
cp -r /tmp/ /tmp/"$TargetDir"

 sqwen 回复于:2004-02-23 13:44:02
#!/bin/bash

BackupDir=/export/home/sqwen/data    #请替代为你想备份的数据目录
TargetDir=/tmp   #请替代为你想备份到的地方,当然你不会/tmp吧,如果选了这个目录备份就没有意义了,因为重启以后备份数据就会丢失

TargetFile=`date +%y%m%d`
cd $TargetDir
tar cvfz ${TargetDir}.tgz $BackupDir
#如果你实在是想直接拷贝而不压缩的话,那就cp -r $BackupDir $TargetDir/$TargetFile,注意这是$TargetFile不是文件而是目录了

 黄虫 回复于:2004-02-23 13:56:12
还是有点问题。提示:
20040223134000 is not an identifier

 黄虫 回复于:2004-02-23 14:02:55
[quote="sqwen"]#!/bin/bash

BackupDir=/export/home/sqwen/data    #请替代为你想备份的数据目录
TargetDir=/tmp   #请替代为你想备份到的地方,当然你不会/tmp吧,如果选了这个目录备份就没有意义了,因为重启以后备份数据就?.........[/quote




不是在/tmp下。运行是出现
20040223134000 is not an identifier

 黄虫 回复于:2004-02-23 14:35:38
[quote:fc81155667="C.Arthur"]#!/bin/sh 
TargetDir=`date '+%Y%m%d'` 
export TrggetDir
echo $TargetDir 
cd /tmp 
mkdir $TargetDir 
cp -r /tmp/ /tmp/"$TargetDir"[/quote:fc81155667]


还有点问题。提示:

./backfile.sh   20040223141800 not found


为什么?但是其下面已经有内容了

 sqwen 回复于:2004-02-23 14:40:13
我刚才用我自己的程序测试了一下,有点小bug,修正一下
[code:1:0a52aa6491]
#!/bin/bash

BackupDir=/export/home/sqwen/data
TargetDir=/export/home/sqwen/backupdata

DateFile=`date +%y%m%d`
cd $BackupDir
cd ..
tar cvfz ${DateFile}.tgz $(basename $BackupDir)
mv ${DateFile}.tgz $TargetDir
[/code:1:0a52aa6491]
这个脚本我亲自测试过,不会有问题

 黄虫 回复于:2004-02-23 15:12:10
[quote:360b985750="sqwen"]这个脚本我亲自测试过,不会有问题[/quote:360b985750]


对,这种方式没错,我也试过了

谢谢!

原文转自:http://www.ltesting.net