这里给大家分享一些Linux与Windows中定时备份与定时删除某天前的文件linux操作系统(共含8篇),供大家参考。同时,但愿您也能像本文投稿人“东海帝皇东游西逛”一样,积极向本站投稿分享好文章。
以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给大家介绍几个Linux与Windows中定时删除某天前的文件方法,这个与备份有点区别,但大同小义了,
无论是在windows下还是linux下,很多的日志文件如果不定时删除会充满硬盘,所以可以分别写个脚本定时处理一下。
Windows下bat文件内容如下;
代码如下复制代码@echo off
forfiles -p “D:\servers\apache2.2\logs” -s -m *.log -d -15 -c “cmd /c del @path”
forfiles -p “D:\servers\mysql\logs” -s -m *.log -d -15 -c “cmd /c del @path”
备份
bat文件内容为:
代码如下复制代码@echo
copy D:work*.db E:bake1
exit
可以将上面的目录换成指定的目录,*.log可以筛选一下文件格式,-d后面的参数为负数表示多少天之前的,正数是多少天之后的。保存成bat文件,然后在Windows计划任务里面设置每天执行的时间就可以了。
Linux下面的shell文件内容如下:
代码如下复制代码#!/bin/bash
# 删除30天之前的文件
find /var/usr/nginx/logs/ -mtime +30 -type f -name \*.gz | xargs rm -f
1. 定期备份网站代码和文件
脚本web.sh
代码如下复制代码#!/bin/bashcd /home/wwwroot
date=`date -I`;
# backup website
/bin/tar -cjf ./backup/website_$date.tar.bz2 website
# romove old data
find ./backup -type f -mtime +7 -exec rm -f {}
脚本原理:先进入备份目录;然后定义日期格式;按日器执行备份;删除旧的备份数据(7天前),
2. 定期备份数据库
脚本db.sh
代码如下复制代码#!/bin/bashcd /home/wwwroot/backup
date=`date -I`;
/usr/bin/mysqldump -u root --password=123456 website >website_$date.sql
/bin/gzip -9 website_$date.sql
上述脚本中-u后接数据库用户名, –password后接数据库密码,紧接着是数据库名,>后面是备份的目录。
gzip -9 是用最高的压缩率把导出的数据库进行压缩。
同样的将上面的目录换成自己指定的目录,后面的\*.gz表示文件扩展名,-mtime后面的参数与上面Windows的相反,正数表示多少天之前的文件。将上面的内容保存成.sh并使用chmod +x 设置成可执行权限,然后放到定时任务中去执行即可。
无论是在windows下还是linux下,很多的日志文件如果不定时删除会充满硬盘,所以可以分别写个脚本定时处理一下
以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给(www.jb51.net)大家介绍几个Linux与Windows中定时删除某天前的文件方法,这个与备份有点区别,但大同小义了,
Windows下bat文件内容如下;
代码如下:
@echo off
forfiles -p “D:\servers\apache2.2\logs” -s -m *.log -d -15 -c “cmd /c del @path”
forfiles -p “D:\servers\mysql\logs” -s -m *.log -d -15 -c “cmd /c del @path”
可以将上面的目录换成指定的目录,*.log可以筛选一下文件格式,-d后面的参数为负数表示多少天之前的,正数是多少天之后的,
保存成bat文件,然后在Windows计划任务里面设置每天执行的时间就可以了。
Linux下面的shell文件内容如下:
代码如下:
#!/bin/bash
# 删除30天之前的文件
find /var/usr/nginx/logs/ -mtime +30 -type f -name \*.gz | xargs rm -f
同样的将上面的目录换成自己指定的目录,后面的\*.gz表示文件扩展名,-mtime后面的参数与上面Windows的相反,正数表示多少天之前的文件。将上面的内容保存成.sh并使用chmod +x 设置成可执行权限,然后放到定时任务中去执行即可。
下面我们一起看一个windows下定时cmd命令行运行php文件实例,这里主要用到windows计划任务功能了,
在windows的cmd下,可以通过php.exe来执行php文件,然后将这个命令写入到bat里来定时执行,大概比浏览器定时刷新什么的要可靠多了。
php.exe所在路径,以及待执行php文件路径即可(代码如下):
D:\Program Files\wamp\bin\php\php5.4.6\php.exe D:\Program Files\wamp\www\phpinfo.php
保存为bat文件,即可利用windows的计划任务定时执行。有关cmd下php.exe的运行,可以随时使用 -h 参数来查看。
>>在windows服务端使用系统自带任务计划和bat配合或借用特定浏览器实现定时执行php或刷新可
方法一:
任务计划和bat配合
1.在织梦后台添加计划任务或自行写脚本,
2.新建文本文档填写bat脚本命令,修改txt扩展名为bat。
内容格式如下:
@echo off
rem 关闭回显
start C:\“Program Files”\“Internet Explorer”\iexplore.exe www.skyhome.cn
rem 使用浏览器打开url地址www.111cn.net
ping 127.1 -n 10 >nul
taskkill /im chrome.exe /f
rem 10秒(单位秒)后执行结束chrome.exe进程关闭浏览器(默认浏览器为chrome即使用chrome打开)
3.使用winows自带计划任务工具按照需要规则定时执行bat脚本。
最近刚使用linux系统但网站数据还是希望有个备份功能,今天找了一些手动备份数据库与文件与自动备份的脚本分享给各位同学呀,
例1,手动备份数据库与网站文件
代码如下复制代码#!/bin/sh
# 文 件 名: rptsmain.sh
# 版 权: Copyright (shell) -2007
# 版 本 号: V1.0
# 功能描述: 数据备份
# 创 建 人: xxxxx
# 日 期: 2007/10/26
# 修 改 人:xxxxxxx
# 日 期: 2007/10/26
#程序开始
TODAY=`date “+%Y%m%d”`
WORKDATE=$TODAY
BACKDIR='/databak/'
tput init
clear
while :
do
tput clear
echo “”
echo “”
echo “”
echo “”
echo “”
echo “”
echo “”
echo “”
echo “”
echo “
数据备份程序 V1.0
Copyright (shell)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ 1. 开始备份数据 ┃
┃ ┃
┃ 2. 备份数据写入磁带 ┃
┃ ┃
┃ ---------------------------------- ┃
┃ ┃
┃ 0. 退出系统 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
请选择[ ] ”
read choice
case $choice in
1):
clear
echo “开始BCP数据库数据...”
DATABASEDIR=$BACKDIR/database
if [ -d $DATABASEDIR ]; then
rm -rf $DATABASEDIR/*
else
mkdir $DATABASEDIR
fi
#备份webdb数据库
mkdir $DATABASEDIR/webdb
total=`cat webdb.table|wc -l`
current=0
for table in `cat webdb.table`
do
current=$current+1
/sybase/OCS-12_5/bin/bcp webdb..$table out
$DATABASEDIR/aadb/$table.bcp -Usa -Ppwd -SServer -Jiso_1 -n -T409600
done
#备份abcdb数据库
mkdir $DATABASEDIR/abcdb
total=`cat abcdb.table|wc -l`
current=0
for table in `cat abcdb.table`
do
current=$current+1
/sybase/OCS-12_5/bin/bcp abcdb..$table out
$DATABASEDIR/bbdb/$table.bcp -Usa -Ppwd -SServer -Jiso_1 -n -T409600
done
echo “开始打包压缩数据库备份数据...”
cd $BACKDIR
tar uvf database-$WORKDATE.tar database/*
echo “正在删除临时文件...”
rm -rf $DATABASEDIR
echo “开始打包压缩数据文件...”
echo “(1)开始打包Tomcat-ABC网站数据文件...”
SOuRCEDIR='/aaaa/uploads'
cd $BACKDIR
#tar czf abc-files-$WORKDATE.tar.gz $SOuRCEDIR/ISO/*
echo “(2)开始打包Websphere经管网数据文件...”
cd $BACKDIR
#tar czf web-files-$WORKDATE.tar.gz /upload/images/807/*
echo “数据备份完成,按任意键返回...”
cd $HOME
read return
;;
2):
;;
0):
break
;;
esac
done
例2,自动定时备份数据库
代码如下复制代码#!/bin/bash
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第
#18行,则默认以tag的方式备份
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile=“$BackupPath”db$(date +%y%m%d).tgz
DumpFile=“$BackupPath”db$(date +%y%m%d)
ldFile=“$BackupPath”db$(date +%y%m%d --date='5 days ago').tgz
echo “-------------------------------------------” >>$LogFile
echo $(date +“%y-%m-%d %H:%M:%S”) >>$LogFile
echo “--------------------------” >>$LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >>$LogFile 2>&1
echo “[$OldFile]Delete Old File Success!” >>$LogFile
else
echo “[$OldFile]No Old Backup File!” >>$LogFile
fi
if [ -f $NewFile ]
then
echo “[$NewFile]The Backup File is exists,Can’t Backup!” >>$LogFile
else
case $BackupMethod in
mysqldump*)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName >$DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName >$DumpFile
fi
tar czvf $NewFile $DumpFile >>$LogFile 2>&1
echo “[$NewFile]Backup Success!” >>$LogFile
rm -rf $DumpFile
;;
mysqlhotcopy*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile >>$LogFile 2>&1
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >>$LogFile 2>&1
echo “[$NewFile]Backup Success!” >>$LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >>$LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo “[$NewFile]Backup Success!” >>$LogFile
;;
esac
fi
echo “-------------------------------------------”
echo
#lftp -f lftp.sh 如果有FTP可同时上传ftp中,
再利用crontab命令生成/var/spool/cron/root 文件
crontab –e (就会打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令)
m h dom mon dow command (具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command))
如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)
例3,我们自己的一个Linux VPS 自动备份数据到远程主机FTP
如果系统上没有ftp命令,先执行yum install -y ftp进行安装。
需要先建立/home/backup/目录,该目录不能用作其他用途。
代码如下复制代码#!/bin/bash
#FTP信息
FTP_IP=
FTP_USER=
FTP_PASS=
#备份数据库
/etc/init.d/mysqld stop
MySQLBakName=MySQL_$(date +”%Y%m%d”).tar.gz
tar zcf /home/backup/$MySQLBakName /var/lib/mysql
/etc/init.d/mysqld start
#备份网站
WebBakName=Web_$(date +%Y%m%d).tar
tar cf /home/backup/$WebBakName /home/www
#操作FTP
ldMySQL=MySQL_$(date -d -1day +”%Y%m%d”).tar.gz
ldWeb=Web_$(date -d -1day +”%Y%m%d”).tar
cd /home/backup/
/usr/bin/ftp -v -n $FTP_IP << EOF
user $FTP_USER $FTP_PASS
type binary
put $MySQLBakName
put $WebBakName
delete $OldMySQL
delete $OldWeb
bye
EOF
rm -rf /home/backup/*.tar*
前面你已经学习了使用 touch 命令来创建文件,以及使用 mkdir 命令来创建目录 tigger。
现在,你需要学习如何删除文件和目录。 使用 rm 命令来删除文件和目录是一个直截了当的过程。详情请参阅 rm 的说明书页。删除文件和目录的选项包括:
» -i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。
» -f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。
» -v — 详细。显示文件的删除进度。
» -r — 递归。将会删除某个目录及其中所有的文件和子目录。
要使用 rm 命令来删除文件 piglet.txt,键入:
rm piglet.txt
警告
一旦文件或目录使用 rm 命令删除后,它就一去不复返了。
使用 -i(互动)选项会再给你一次机会来决定你是否真的想删除该文件。
rm -i piglet.txt
rm: 是否删除一般文件‘piglet.txt’?
你还可以使用通配符“*”来删除文件,不过,你必须谨慎而为,因为它很容易删除你并不想删除的文件。
要使用通配符来删除文件,可以键入:
rm pig*
上面的命令会删除目录中所有起首为 pig 字母的文件。
你还可以使用 rm 命令来删除多个文件。 例如:
rm piglet.txt sneakers.txt
你可以使用 rmdir 来删除目录( 如:rmdir foo),但是目录必须是空目录。要使用 rm 来删除目录,你必须指定 -r 选项。
譬如,如果你想递归地删除目录 tigger,你可以键入:
rm -r tigger
如果你想组合选项,例如强制一种递归的删除,你可以键入:
rm -rf tigger
另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包含文件的目录。
警告
rm 命令可以删除你的整个文件系统!如果你登录为根用户,然后键入这个简单命令: rm -rf /,你的麻烦就大了;这个命令会递归地删除你的系统上的一切。
阅读 rmdir 的说明书页( man rmdir)来获取关于这个命令的详细信息
Linux 文件误删除恢复操作
一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式
二、为方便本次实验,我们新创建一文件,
三、执行删除操作,
四、运用,系统自还工具debugfs来修复
五、打开,刚刚被删除文件所在的分区
六、用ls 加-d参数显示刚刚删除文件所在的目录
七、显示有尖括号的就是我们要找的文件Inode 号 执行logdump –I <393289>
八,执行完命令后,显示了一屏信息,我们需要的是下面这一行,并且要记住,后面的值
九,退出debugfs
十,执行如下命令
十一,以上结果表示恢复成功我们看下/tmp目录下到底有没有
十二,tmp目录下有我们显示一下,
linux下删除乱码文件
根据inode 来修改或删除linux 下乱码的文件
1. 创建测试文件:
touch 1?.txt
2. 查询inode :
[oracle@test]$ ll -i
total 14694452
17956913 -rw-r--r-- 1 oracle oinstall 0 Jan 18 20:24 1?.txt
3. 修改测试文件名:
find . -inum 17956913 -exec mv {} file.txt ;
4. 检查修改结果
[oracle@test]$ ll
total 14694452
....
-rw-r--r-- 1 oracle oinstall 0 Jan 18 20:24 file.txt
记录:删除乱码的文件可使用 find . -inum 17956913 -exec rm {} ;
linux也查windows系统一相可以直接对系统进行备份以备系统出问题时我们进行还原了,下面我来给大家详细介绍Linux中备份与恢复Linux系统的方法,有需要学习的朋友可参考,
备份:
具体说来要这样做:
首先是要用root用户,必须的,然后是到/目录下,就是根目录下,然后就可以使用下面给出的命令一键备份了,easy:
代码如下复制代码tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found--exclude=/backup.tgz --
exclude=/mnt--exclude=/sys
这里稍微介绍一下代码,应该都认识的吧:
tar是Linux下的打包命令,就是类似于压缩的打包,加上参数‘cvpfz’用于表示创建一个打包文件,并且具有保存权限,后面的z表示使用gzip压缩,f参数后面就是街上名称了,这里的就是backup.tgz了。
后面加上的就是备份的目录,这里要备份所有的文件,自然就是根目录了:/。后面--exclude很明白吧,就是要排除的目录,这些目录下的文件我们不想备份,因为没有什么用,或者很大很大,严重影响备份的速度。当然了,不要笨到把自己想要备份的文件也排除了,那样结果会很怪异的。这里提醒一下,如果不想备份/mnt下,那就把它排除把,还有就是/media目录了,不要挂载东西,不然一起备份了,还是比较厉害的一个命令了。
可能在备份的最后会有一条信息,就是提示tar命令由于先前错误的耽搁存在错误之类的,不过这个不要紧,直接pass。
除此之外,还可以选择拥有较高压缩比率的Bzip来压缩文件,高压缩比意味着低压缩速度,那就需要很长的时间了,如果不是很着急,那就可以用下面的命令来做,其实也没什么,就是把上面的命令中的z参数替换成j参数,就可以了,这样的话命令就会变成这样:
代码如下复制代码tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found--exclude=/backup.tgz --
exclude=/mnt--exclude=/sys
恢复:
如果哪一天很不幸你的数据被毁掉了,你应该感到庆幸,因为你曾经备份过系统,但愿这个备份的时间不要太久了,
废话不多说,下面就是恢复。
我们已经将系统整个备份到了backup.tgz文件了
下面还是要确定你就是根用户,这样才能顺利进行,不然又得纠结的。
确定所拥有的备份文件在根目录下。这是必须的,不然会有意想不到的错误,你可以想象恢复到一般的时候恢复文件把自己给覆盖了的情况。
接下来我还是宣扬一下Linux的好处,就是不需要用光盘引导之类的,因为你就在操作的最底层,无需再次关开机什么的,额,这里除去你的系统已经被你搞得连shell都看不见了,还是老实点的引导吧,我们可以再Linux运行的时候还原文件,并且移除所有的其他文件,这是危险的。下面还是正题:
使用这个命令即可:
代码如下复制代码tar xvpfz backup.tgz -C /
如果使用了bz2:,就是用下面的命令:
代码如下复制代码tar xvpfj backup.tar.bz2 -C /
这回把分区里所有相同的文件用压缩文件里的文件代替,所有要三思而后行,除非你的系统的确需要还原。
下面的命令用于重新创建被排除的目录:
代码如下复制代码mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
■/proc 权限:文件所有者:root群组:root所有者:读取 执行 群组:读取 执行 其它:读取 执行
■/lost+found 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
■/mnt 权限:文件所有者:root群组:root所有者:读取 写入 执行 群组:读取 执行其它:读取 执行
■/sys 权限:文件所有者:root群组:root所有者:读取 写入 执行 群组:读取 执行其它:读取 执行
rsync是一个非常好用的文件同步软件它可以实现不同服务器之间文件实时备份功能,它比起我们常用的ftp要强大的多了,rsync可以实现文件有更新或有新文件就会自动备份到指定机器中去哦,下面我来给大家介绍一个例子,
Rsync 非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合 ssh ,则安全性也有保证,且可以利用 ssh public key 和 cron 来进行自动定时同步。
说明:两台机器分别为 localhost 和 remotehost ;用户分别为 localuser 和 remoteuser。
环境:FreeBSD 4.9 和 FreeBSD 6.1
代码如下复制代码设置 ssh public key 认证
$ssh-keygen -t dsa -b 2048
生成所需的密钥
$scp /home/localuser/.ssh/id_dsa.pub remoteuser@remotehost:/home/remoteuser/.ssh/localuser_id_dsa.pub
将公钥拷贝至 remotehost
$ssh remoteuser@remotehost
登录到?端
代码如下复制代码$cd .ssh/ ; cat localuser_id_dsa.pub >>authorized_keys至此,设置 ssh 认证完毕。
设置 rsync
确认两端机器都安装 rsync , freeBSD 有 ports ,安装非常方便,
写个脚本名为 backup.sh ,内容如下:
代码如下复制代码#!/bin/shRSYNC=/usr/local/bin/rsync
SSH=/usr/bin/ssh
KEY=/home/localuser/.ssh /id_rsa
RUSER=remoteuser
RHOST=remotehost
RPATH=/remote/dir
LPATH=/this/dir
$RSYNC -az—delte -e “$SSH -i $KEY” $RUSER@$RHOST:$RPATH $LPATH
-a 选项相当于选项 -rlptgoD 。简单来讲,此选项可递归并将几乎所有的东西同步过去,非常有用。注意的是, -a 默认不会保存 hardlinks ,不过可以单独用 -H 选项来实现。
-z 选项在传输中压缩文件,这无疑加快同步速度。
-delete 选项会删除接受方一些不应存在的文件,此文件在发送方已经被删除,这将保持目录完全同步。
让 cron 每天凌晨1点来跑这个脚本
代码如下复制代码$crontab -e0 1 * * * /home/localuser/bin/backup.sh
友情提示
rsync是没有自动启动同步功能了,如果我们要定时去备份一个网站数据我们就需要用到定时功能了,上面的例子来使用到了linux中$crontab命令来定时执行备份数据脚本了哦。
备份,又是这个话题,备份很重要,呵呵,但是……我也承认……“备份”真的很麻烦啊!
好在,Windows 7终于“注意到”且“正视”这个问题,并针对计算机数据的备份进行全面性的支持,谢天谢地,“新的”毕竟是真的很多地方有比较好些……,
新发明的媒体柜
以前的Windows希望你自己把资料集中放在“我的文件”里面,某种程度而言,这是好事。当你要换计算机时,你只要把“我的文件”备份起来即可。
但是,“我的文件”通常是系统预设于C:磁盘的某处,而C:却是系统磁盘的所在。因此Windows希望使用者把文件和系统盘放在同一个磁盘,老实说是增加文件出事的风险,因为系统碟容易因为病毒、磁盘损毁而出事,所以这种强制的预设,并非很完善的选择。
另一个问题是,C:也会因为安装软件而空间不足,此时你必然得把数据放在别的磁盘,但这么做又会让数据分散,破坏原先数据“集中管理”的原意。
有高手会说,“其实‘我的文件’的预设数据夹是可以改的。”老实说,这我也知(不然我怎么会写出来),用Eee PC上网本时,手册上的说明就建议使用者把“我的文件”设定到记忆卡上去,以避免4GB的SSD硬盘爆掉了。但是……一般人不知道怎么改,而且这么做还是缺乏弹性,问题很多。
没有关系,以上问题,Windows 7用“媒体柜”来解决。
需要备份的资料夹若是散落各处,可以利用Windows 7新增的“媒体柜”功能来集中管理,我个人觉得这概念相当不错。
资料备份的第一原则:集中与分类
几乎是任何文件夹,只要是阁下觉得“有必要”的──都可以按下鼠标右键,将这个数据夹放入“媒体柜”。所以当你开启文件管理器,最上层的文件夹也是媒体柜。
媒体柜很像是“快捷方式”也很像是“超级链接”,可以把所有的数据都集中到媒体柜,方便你查询。不管文件夹放在C:、E:、F:还是G:,也不管这数据藏得多深入,只要你按下鼠标右键选“加入至媒体柜”,以后这数据夹就可以在媒体柜直接找到。
加入媒体柜的文件夹其实还是在原处,但是多了一个可见的链接在媒体柜了。而且当你要复制或删除文件,媒体柜里面的文件也都可以进行这方面的管理操作。所以你平常只要做好媒体柜的设定管理,要进行备份工作时就容易多了。
媒体柜另一个好处是:Windows 7已经内建了几个重要的分类文件夹,比如照片、影片、文件等等,使用者如果需要分类备份(有些文件的数据量大,比如照片、影片,有些文件资料量小,比如文件),也可以依类处理,以免耗时耗力。这样操作起来,感觉上以往的Windows只是让使用者在数据管理上“自生自灭”,而Windows 7比较像是个“有机体”,有一些比较具体的管理机制。虽然这应该不是Windows 7的杀手级功能,但我个人还蛮欣赏Microsoft在这方面的努力与进步,值得各位一试。
什么是系统映像文件?
除了传统的档案复制的备份方式,Windows 7(其实Vista也有)新增了所谓的“建立系统映像文件”和“建立系统修复光盘”这类的功能。可能很多人并不明白这是什么,因此这期我就先说明“系统映像文件”的概念。
从开始菜单、所有程序的“维护”里面,可以执行备份与还原功能,“建立系统映像”的在左边。
以前,买计算机大多还会附赠一片“系统光盘”,以前的系统光盘其实就是Microsoft发行的原版Windows安装光盘,大概再加一片计算机驱动程序。所以“原版Windows光盘”+“驱动程序光盘”就成为一般人重装计算机的必备工具。
但是,从安装到完成,一台电脑的操作系统安装往往需要许多的“工序”,你得先安装Windows,安装驱动程序,安装一些必要的软件(不管是免费的或是付费的)。幸好,重装系统不是(至少不应该是)天天要做的事情,大概三、五年做一次就很厉害了(不过有些人的周期可能再短些)。
但因为病毒肆虐、硬盘损毁、操作不当等多重原因,“重装Windows”成为很多人反复为之的“梦魇”之后,有些厂商就推出了所谓的“系统映像文件备份”,早期最有名的软件应该是Ghost,
Ghost这个双关语很有趣的传达了这软件的功能:把你的硬盘“魂’备份起来,等到需要的时候再还原,又可以让硬盘运作如初。
概念上并不复杂,所谓的“系统映像文件”,就是把硬盘上诸多的文件统统包成“一大包”,以“地毯式备份”的概念,把硬盘上所有的文件和必要的设定等等,一起包成一大包,做出一个所谓的“系统映像文件”,然后把这个系统映像文件存到别处,以备将来的“不时之需”。
要注意,这个“备份空间”可以是光盘,可以是硬盘,但无论如何,这空间不能是你打算备份的硬盘还剩下的空间,你一定得找个磁盘代码不同的地方。举例来说,如果你要备份C:磁盘,那你一定得把备份空间放在C:以外的磁盘才行。
建立系统映像文件的好处
当你把计算机装好并建立了系统映像文件,就像是帮计算机买了保险,等到真的发生意外时,计算机的再次重装就可以省下大量的工序──驱动程序不用重装,应用软件不用重装,计算机就像是回到了你当初备份时间点当时的状况一样。而且,除了Windows系统内建的备份/还原功能之外,也有很多其它的软件提供更丰富的备份功能。只是这些软件大多需要额外购买,Windows 7内建了很多的相关功能也不啻是件省事之事啊!
但是一旦你在某个时间点建立了系统映像文件,马上又会面临一些问题:
● 日后Windows系统会因为使用过程而不断的被更动,若每次都一直重新建立完整系统文件,太占空间,但不备份却也很不放心。
● 系统文件如果建立在相同的硬盘上,仅是磁盘代号不同(很多人计算机上的C:、D:其实是同一台硬盘,只是“切割”成看似两台的逻辑磁盘),还是无法避免因为硬盘损坏而造成的灾难。
● 通常备份了甲计算机之后,你也只能用这系统映像文件去还原甲计算机,不能拿去给乙计算机用,但有时却真的需要这样做(因为甲计算机坏掉了,或是你想要汰旧换新)。
好在,这些问题也都有一些解决方案。如果日后系统更迭不断,没问题,很多软件都支持所谓的“增量备份” (Windows 7也有),让你可以不断地备份却还能维持空间不致扩张太大。至于备份文件的地方,我会建议放在另一台硬盘会安全多了,甚至放在光盘上也是不错的方式。至于把甲计算机的系统映像文件移植到乙系统这种事,专有名词称为“异机还原”,这就比较复杂,需要专门的备份/还原软件才行了。
建立系统映像文件的方法
总而言之,建立“系统映像文件”是相当重要的,花一点空间帮你硬盘上的Windows 7系统买个保险,我想是相当划算的,那怎么建立一个“本机的系统映像文件”?
开启开始菜单(现在已经没有开始字样,只有一个Windows图案了),选取“所有程序”、“维护”,选取其中的“备份与还原”功能即可开始了。在这个程序的左边,有“建立系统映像”的项目,点下去,就可以进行映像文件建立的步骤了。
备份时,通常你可以选择备份的系统C:磁盘,和一个隐藏、平常看不到的系统保留磁盘。如果你的系统很简单,那这就是全部你要选的硬盘了。如果你的系统比较复杂,那可能就得多做点选择(并且必须有更多的空间用以备份其它磁盘)。但如果你在公司里面,打算把系统映像文件备份到“网络磁盘”,那你的 Windows 7就得是专业版、旗舰版或是企业版才行。
就这么简单啊!
结论:系统修复光盘之必要性
备份到最后,该程序会问你,“您要建立系统修复光盘嘛?”这又是什么?为何要建立一个光盘?
建立系统映像过程不难,只要确定在别的磁盘上有足够的硬盘空间即可。备份完后,也可以顺手做一片系统修复光盘有备无患之。
因为,大部分Windows系统“崩溃”之后,大多会连开机都没办法了。试问连开机都进不去系统了,你还能怎么修复你的计算机?怎么还原你的系统?就算你明明有备份你的系统,也只能仰天长叹了!
更妙的是,有的上网本连光驱都没有,是要怎么制作还原光盘?
姑且不论上网本的问题,至少一般的“桌上型计算机”使用者要知道,硬盘上Windows系统崩溃的时候,总算还剩下光驱可以用来帮你“救援”。可你不趁计算机正常时做一片救援光盘,研究一下如何使用……那等到出事的时候,你就非得找人来救了。
硬盘救援,说难不难,说易不易,相关的专业不是那么容易,在此就先略过不提。我个人建议,“平常计算机勤保养,免得死机无泪喷”。如果运气好,也许你的计算机可以一直活得很好,都用不着救援光盘呢!所以,在此新的一年,祝贺大家运气都可以不错。