1、比如每天产生一个/data/access.log这样的文件,我们每天备份到backup目录的专access_2011-01-12.log.gz这样的文件。属
2、增加计划任务
export EDITOR=vi
crontab -e
0 0 * * * /data/bak.sh;
3、bak.sh文件内容如下:
cat /data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date +%Y%m%d`.log
# tar everyday
#echo "begining of tar"
tar zcf $bak_dir/$bak_file.gz $logs_dir/access.log
# clear bak_file
#echo "clearing file.log"
find $bak_dir -mtime +7 -exec rm -rf {} \;
#end
求采纳为满意回答。
2. linux中怎么用ftp做自动备份
#!/bin/bash
#设置日志文件,前提建好了/backup/log目录
LogFile=/backup/log/`date +"%Y-%m"`.log
#备份源目录
SourceDir=/cvs
#备份目标
BakDir=/backup
#保存20天过期自版动删除
RetainDay=20
#备份的内权容可以写进project.lst,如cvs目录下有a,b,c三个目录,project.lst填写多少就备份多少,下面是备份的
#具体脚本,其核心是tar打包,并把重要的内容记录到日志文件里
3. Linux自动备份MySQL数据库的实用方法
MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。
◆1、创建备份文件夹
#cd /www
#makedir backup
◆2、编写运行脚本
#vi autobackup
写入以下内容:
filename=`date +%Y%m%d`
mysql_bin_dir/mysqlmp _opt dataname -u user -ppassword | gzip
/www/mysqlbackup/name$filename.gz
保存退枝裤出
说明:
(1)mysql_bin_dir:mysql的bin路径;
(2)dataname:数据库名;
(3)user:数据库用户名;
(4)password:陆搭岁用户密码;
(5)name:早睁自定义备份文件前缀标识。
如上例,将自动备份mysql数据库,并以gzip压缩方式存储,文件名为name20080101.gz的形式。
◆3、为脚本添加执行权限
#chmod +x autobackup
◆4、让crontab来完成定期执行的任务
这一步中,Redhat的方法会不一样,后面专门给出。
编辑crontab:
#vi /etc/crontab
在最后一行中加入:
01 5 * * * root /www/autobackup
每天5点运行脚本,也可以修改5为其他指定时间。
Redhat方法:
Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式。
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
◆5、重启crontab
#/etc/rc.d/init.d/crond restart
完成。
4. Linux自动远程备份一个文件夹所有文件至一台服务器上的配置命令步骤
1.备份Linux系统window系统在运行状态下,我们是无法将文件拷贝出来的,那么在Linux下呢?她的文件结构式一种树型结构。而且在系统运行的时候我们可以进行打包所有系统文件。特别要说的在Linux的root账户具备系统上的任何操作,这也是为什么要创建一个比较低级别的用户权限来防止系统误操作导致系统崩溃的晕因了。下面看备份命令。#切换到rootsudosu#进入系统根目录cd/#执行打包命令tarcvpzflinuxbackup.tgz--exclude=/proc--exclude=/lost+found--exclude=/linuxbackup.tgz--exclude=/mnt--exclude=/sys/命令解释:tar:linux常用的打包程序cvpzf:式tar的参数,c-创建新文档v-处理过程中输出相关信息p-表示保持相同的权限z-调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩f-对普通文件操作linuxbackup.tgz:要打包成的文件名--exclude=/proc:排除/proc目录,不打包这个目录,后面也同理,记得排除自身打包的文件名/:表示打包linux根目录所有文件,当然了排除的文件不包含在内整个过程理解起来意思就是,创建一个新的文件名linuxbackup.tgz压缩文件,它保存式从排除了指定目录后的文件,并且保存原有的权限设置,这里必须记下你排除的目录,恢复的时候需要手动创建。具体哪些目录要排除在外,这个根觉不同的环境和工作需要进行选择就是了。执行后等待一定时间就可以了,将这个linuxbackup.tgz拷贝到其他地方即可,备份完成了。重点指出:在打包过程中不要进行任何的操作,否则会修改某些文件,在备份完后tar会提示错误。恢复也是一样。2.恢复Linux系统按照上面的方式备份完系统就可以使用该方法恢复你的备份文件了。如果你的系统崩溃了无法进入系统那么你可以借助引导CD或者其他引导系统进入,如果你可以进入系统,首先拷贝该备份文件到/目录下,然后执行下面命令进行恢复系统:#提升到rootsudosu#进入根目录cd/#解压恢复系统tarxvpfzlinuxbackup.tgz-C/等执行完后,别急着重启系统,要记得创建你在备份时候排除的目录,手动创建,例如上面我们排除,我们需创建mkdirprocmdkirlost+foundmkdirmntmkdirsys这个时候你就可以重启系统了。恢复完成了。
5. linux下备份文件
一、使用tar命令进行备份:
tar命令本来的作用是能够把很多文件放到一个小文件中进行归档,但是同时又能够对文件进行压缩。所以,一般情况下都采用tar进行文件整理和压缩。
/* 把/root整个目录进行压缩备份 */
# tar cvzf /tmp/root_backup_1215.tar.gz /root
那么就能够把 /tmp/root_backup_1215.tar.gz进行存储,比如保存到磁带机上等。
说明: 压缩的tar档案通常的扩展名是 tar.gz、tgz、或者tar.bz2。前两个扩展名一般是使用gzip命令进行压缩的tar档案,后一个扩展名是
基于bzip2的压缩,因为压缩算法的原因,后一个压缩更强。
同时,也很容易把已经打包压缩的文件进行恢复:
/* 从备份文件中进行还原 */
# tar tkvzf root_backup_1215.tar.gz
二、使用cpio备份存档:
cpio ( in/out) 命令可以建立存档,跟tar不同之处在于,能够处理标准的输入输出。顾名思义,就是复制,输入,输出的意思。
如果要备份root的文件,使用下列命令:
# find /root | cpio -o > /tmp/root_backup_1215.cpio
cpio能够使用通配符将一组文件设置成标准输入。比如,下面见所有的.tif文件建立档案:
# find *.tif | cpio -o > /tmp/back.cpio
记住,find命令很灵活,下列命令把系统中所有的.tif文件进行归档:
# find / -name '*.tif' | cpio -o > /tmp/back_tif.cpio
同时,也很容易从cpio档案中恢复文件。下列命令恢复back_tif.cpio中的文件:
# cpio -i < back_tif.cpio
和tar命令一样,cpio命令恢复从目录保存的文件时,取决于是相对路经还是绝对路经。
cpio命令还有一个优点是可以直接将文件发送给外部源。
例如,下列命令恢复/root主目录中的文件,并把文件发送到SCSI磁带机:
# find /root | cpio -o -> /dev/st0
# cpio -i < /dev/st0
6. Linux NFS挂载,实现异地文件备份
最近做了一个文件的异地备份,采用网络挂载的方式,效果比之前用sync拷贝要方便的多。
也比之前简单的多,其实也就是几件事情。
首先是,需要备份的服务器和备份的服务器都装上nfs。
yum install nfs-utils
有的可能还需要单独安装一下rpcbind
那就
yum install rpcbind
接着在被挂载服务器编写配置文件
vim /etc/exports
/root/work 192.168.0.3(rw,no_root_squash,no_all_squash,async)
/root/work 192.168.0.16(rw,no_root_squash,no_all_squash,async)
如像这样,授权了本地的/root/work 目录可以被两个服务器访问胡槐,权限是读写(rw)
这一部分就完成了。
接下来是需要备份的服务器:
安装玩nfs以后,在/mnt目录下建一个目录(通常都是在这个目录下,别问为什么?问就是通用习惯。)
cd /mnt
mkdir backserver
这就完成了目录创建
接着也是最重要的一步
mount -t nfs 192.168.0.18:root/work/backup /mnt/backserver/
这条命令的意思是挂载192.168.0.18:root/work/backup目录到本机的/mnt/backserver/
-t 是指定挂载类型,nfs,就是网络文件系统的简称。
这样之后,本机的/mnt/backserver/存的文件实际上是存在192.168.0.18:root/work/backup目录下的。
接下来就是一个见的文件拷贝命令。
rsync -avz /usr/local/nginx /usr/local/tomcat /mnt/backserver/09back
就把文件备份到192.168.0.18:root/work/backup目录下了。
实现自族橡动备份就更简单了,直接把刚才的命令写入shell脚兆做旁本
保存为backup.sh
然后加入系统定时计划
crontab -e
30 3 * * * sh /root/work/work/backup.sh
意思是每天三点执行一次脚本,就完成了自动异地备份。
整个过程还是很简答的,其中涉及一个cs的模式。
需要知道:
1,是客户端挂载到服务端。
2,服务端需要授予客户端访问权限。
7. linux下mysql自动备份数据库与自动删除临时文件
一、每日23:00自动删除临时文件
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行:
00
03
*
*
*
rm
-rf
/www/cmstest/my120/public/scripts/jpgraph/*
保存退出。
重启服务:
/etc/rc.d/init.d/crond
restart
二、每日24:00自动备份数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir
/mysqldata
2、创建/usr/sbin/bakmysql文件
查找数据库库文件的路径:
一般都是:/var/lib/mysql,或者,/usr/local/mysql/var
查找方法:
1、/usr/local/mysql/bin/mysql
-u
root
-p
进入数据库
2、输入:show
databases;
3、这是可以查看到所有的数据库,然后
4、find
/
-name
db(你想查找的数据库名)
之后:#vi
/usr/sbin/bakmysql
输入
复制代码
代码如下:
rq=`
date
+%Y%m%d
`
tar
zcvf
/mysqldata/mysql$rq.tar.gz
/var/lib/mysql
3、修改文件属性,使其可执行
#
chmod
+x
/usr/sbin/bakmysql
新建任务:
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行
00
04
*
*
*
/usr/sbin/bakmysql
表示每天24点钟执行备份
4、重新启动crond
#
/etc/rc.d/init.d/crond
restart
此后每天就可以在/mysqldata中看到类似下的文件了:mysql20040619.tar.gz。
8. 如何在linux下实现mysql数据库每天自动备份
方法/步骤
1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup
2.新建备份的脚本vim /root/mysql_backup.sh
3.在mysql_backup.sh中输入内容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqlmp -uroot -proot abc | gzip > $backupdir/abc$time.sql.gzfind $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
——————————————————————————————
说明:
backupdir = 备份文件存储文件夹time = 获取当前时间 年月日时(2014111417)2014年11月14日17点mysqlmp 备份数据库指令 abc要备份的数据库find $backupdir -name “abc*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 删除5天前的备份文件
3 :wq 文件保存成功后
先按一下键盘上的 " esc " 然后输入 ” :wq “
执行一下脚本,看根目录下的mysql_backup文件夹是否有.sql.gz后缀名的文件
./mysql_backup.sh
写入每天的定时任务 修改 /etc/crontabvi /etc/crontab
按键盘上的"i",开始输入
02 4 * * * root /root/mysql_backup.sh
表示每天4点2分执行备份任务
先按一下键盘上的 " esc " 然后输入 ” :wq “ 表示保存
8
重新启动crond
service crond restart 或 /etc/rc.d/init.d/crond restart
9. linux系统如何备份
做法是:
1、在保存备份文件的目录 xxx 下建立一个文件 backup.sh,其内容是:
tar -zcf bin.tar.gz /bin
tar -zcf boot.tar.gz /boot
tar -zcf dev.tar.gz /dev
tar -zcf etc.tar.gz /etc
tar -zcf lib32.tar.gz /lib32
tar -zcf lib64.tar.gz /lib64
tar -zcf lib.tar.gz /lib
tar -zcf opt.tar.gz /opt
tar -zcf sbin.tar.gz /sbin
tar -zcf selinux.tar.gz /selinux
tar -zcf srv.tar.gz /srv
tar -zcf var.tar.gz /var
tar -zcf usr.tar.gz /usr
2、在需要备份的时候进入到保存备份内容的目录执行一次命令: sh backup.sh
3、在保消春存备份文件的目录 xxx 下建立一个叫拿袭耐 restore.sh 的文件,其内容如下:
tar -zxf /mnt/xxx/bin.tar.gz
tar -zxf /mnt/xxx/boot.tar.gz
tar -zxf /mnt/xxx/dev.tar.gz
tar -zxf /mnt/xxx/etc.tar.gz
tar -zxf /mnt/xxx/lib32.tar.gz
tar -zxf /mnt/xxx/lib64.tar.gz
tar -zxf /mnt/xxx/lib.tar.gz
tar -zxf /mnt/xxx/opt.tar.gz
tar -zxf /mnt/xxx/sbin.tar.gz
tar -zxf /mnt/xxx/selinux.tar.gz
tar -zxf /mnt/xxx/srv.tar.gz
tar -zxf /mnt/xxx/var.tar.gz
tar -zxf /mnt/xxx/usr.tar.gz
4、如果需要系统恢复,我就禅亮用光盘启动,mount 原来的根目录为 yyy,接着 mount 保存备份文件的目录为 xxx,接着进入到 /mnt/yyy,并在此下达命令: sh /mnt/xxx/restore.sh
10. linux 每日自动备份文件的脚本
1、比如每天产生一个/data/access.log这样的文件,我们每天备份到backup目录的access_2011-01-12.log.gz这样的文件。
2、增专加计划任务
export
EDITOR=vi
crontab
-e
0
0
*
*
*
/data/bak.sh;
3、bak.sh文件内属容如下:
cat
/data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date
+%Y%m%d`.log
#
tar
everyday
#echo
"begining
of
tar"
tar
zcf
$bak_dir/$bak_file.gz
$logs_dir/access.log
#
clear
bak_file
#echo
"clearing
file.log"
find
$bak_dir
-mtime
+7
-exec
rm
-rf
{}
\;
#end
求采纳为满意回答。