文件管理 · 2022年8月22日

linux定时备份文件|LINUX 自动备份怎么实现

1. linux 自动备份怎么实现

首先我在/root/backup 目录下建立一个文件夹,#mkdir /root/backup/mysqlbackup以后在每天五点钟,就会有一个文件保存在这里.接着新建文件#vim /root/mysqlautobak输入:filename=` date +%Y%m%d `mysqlmp –all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql保存退出!让它可以执行#chomd +X /root/mysqlautobak接着开始完crontab了#vi /etc/crontab添加一行01 5 * * * root /root/mysqlautobak保存退出.重新启动你的crond服务进程# /etc/rc.d/init.d/crond restart===============================================================================hp unix 自动全备份脚本(shell)说明:每天夜里10点自动备份并且压缩,保留2天备份,在备份完当天后删除前天的备份。在一切执行之后,发邮件通知,邮件内容有删除文件和备份文件名称及备份开始时间,结束时间。使用方法:nohup backup.sh &filename:backup.shreportlist=""while [ 1 ]dohou=`date +%H`backdate=`date +%Y%m%d`if [ $hou -eq 22 ]thenbegintime=`date +%Y-%m-%d:%H-%M`cd /data_log2/for_testlog_txt=`ls -al -crt log.txt | awk '{print $9}' | wc -l`if [ $log_txt -gt 0 ]then mv log.txt log.txt.bakfiexp owner=user file=/data_log2/for_test/tmp_now.dmpcompress /data_log2/for_test/tmp_now.dmpmv tmp_now.dmp.Z report_$backdate.dmp.Zecho "———report database backuped———– ">> log.txtecho "filename="report_$backdate.dmp.Z >>log.txtdelfile=`ls -al -crt *.Z | awk '{print $9}' | head -1`count=`ls -al -crt *.Z | awk '{print $9}' | wc -l`if [ $count -gt 2 ]then rm `ls -al -crt *.Z | awk '{print $9}' | head -1` echo "———– old backup deleted ———" >> log.txt echo "the deleted backup filename="$delfile >> log.txtfiecho "—————–beigin time—————-" >> log.txtecho $begintime >> log.txtecho "—————–end time—————-" >> log.txtecho `date +%Y-%m-%d:%H-%M` >> log.txtrm log.txt.bakmailx -s "10.203.116.23 daily database backup" -r ")" $reportlist < log.txtfisleep 3600done======================================================================================1 给我自己的服务器写的一段自动备份的shell #!/bin/bash#指定要备份的系统目录 SYSTEM_DIR=/home#指定要备份的目录MAIL_DIR=mailbox #邮件目录 WEBSITE_DIR=www/html #WEB目录 DATABASE_DIR=databases #数据库目录#指定备份文件的前缀 MAIL_PREFIX=mail WEBSITE_PREFIX=web DATABASE_PREFIX=database#有朋友的一台WIN2K服务器,我在上面开了ftp,把备份文件传到他的服务器上,相当于我实现了个双机备份#ftp服务器的IP FTP_SERV=211.144.155.111 #ftp用户名 FTP_USER=username #ftp密码 FTP_PASS=12345678#备份文件存放目录 BACKUP_DIR=/home/backup#格式化一下日期,备份文件时用日期来做文件名的 DATE=`date +%Y%m%d`#开始备份邮件 if [ -f ${BACKUP_DIR}/${MAIL_PREFIX}${DATE}.tar.gz ]; then #如果当天的邮件已经备份,那没跳过 echo `date +%Y-%m-%d`'s mail backup file is existing else #如果没有备份,那么用tar命令来打包邮件目录 tar -czvf ${BACKUP_DIR}/${MAIL_PREFIX}${DATE}.tar.gz ${SYSTEM_DIR}/${MAIL_DIR} fi#开始备份网站目录,备份过程同上 if [ -f ${BACKUP_DIR}/${WEBSITE_PREFIX}${DATE}.tar.gz ]; then echo `date +%Y-%m-%d`'s webebsite backup file is existing else tar -czvf ${BACKUP_DIR}/${WEBSITE_PREFIX}${DATE}.tar.gz ${SYSTEM_DIR}/${WEBSITE_DIR} fi#开始备份数据库目录,备份过程同上 if [ -f ${BACKUP_DIR}/${DATABASE_PREFIX}${DATE}.tar.gz ]; then echo `date +%Y-%m-%d`'s database backup file is existing else tar -czvf ${BACKUP_DIR}/${DATABASE_PREFIX}${DATE}.tar.gz ${SYSTEM_DIR}/${DATABASE_DIR} fi#开始把备份文件传输到另一台服务器上 ftp -i -n $FTP_SERV <<AUTO_FTP user $FTP_USER $FTP_PASS passive binary put ${BACKUP_DIR}/${MAIL_PREFIX}${DATE}.tar.gz ${MAIL_PREFIX}${DATE}.tar.gz put ${BACKUP_DIR}/${WEBSITE_PREFIX}${DATE}.tar.gz ${WEBSITE_PREFIX}${DATE}.tar.gz put ${BACKUP_DIR}/${DATABASE_PREFIX}${DATE}.tar.gz ${DATABASE_PREFIX}${DATE}.tar.gz AUTO_FTP别忘了,还有最后一步,就是在crontab里加上个任务,这样你就不用每次备份都一步步地敲那些琐碎的命令了。我的网站,希望大家多多交流 ===================================linux下:MySQL :: Linux 下自动备份数据库的 shell 脚本 Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库。其实非常简单,主要就是使用 MySQL 自带的 mysqlmp 命令。脚本内容如下: #!/bin/sh # File: /home/mysql/backup.sh # Database info DB_NAME="test" DB_USER="username" DB_PASS="password"# Others vars BIN_DIR="/usr/local/mysql/bin" BCK_DIR="/home/mysql/backup" DATE=`date +%F`# TODO $BIN_DIR/mysqlmp –opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz然后使用将此脚本加到 /etc/crontab 定时任务中:01 5 * * 0 mysql /home/mysql/backup.sh好了,每周日凌晨 5:01 系统就会自动运行 backup.sh 文件备份 MySQL 数据库了。/home/www/inc/back

2. 请问:在linux系统设置定时任务,每天自动从远程服务器备份文件到本地服务器中,该怎么弄

提供思路:

设置ssh密匙免密登陆

利用scp 传输文件

添加定时任务 crontab

希望可以帮助你 请采纳 谢谢

3. linux执行定时备份数据脚本

对tomcat目录,每隔4个小时进行一次备份,以当前时间进行命名

1.创建备份目录:

mkdir:创建目录

rmdir:删除目录

5.重启crontab:

service crond restart

!!!!(*^__^*) 嘻嘻……!!!!到这里就完了!

4. linux下怎么定时备份oracle数据库

如果是sql server,定期备份可以利用sql server的management studio来做,比较方便。但要做oracle的定期备份,那就需要我们写导出命令,并设置linux的定时任务。首先创建一个数据库作为测试。–创建数据表空间create tablespace test_dataloggingdatafile '/u01/app/oradata/test/TEST.dbf'size 32mautoextend onnext 32m maxsize 2048mextent management local; –创建用户并指定表空间create user TEST identified by 123default tablespace test_datatemporary tablespace temp; –给用户授予权限grant connect,resource to TEST;用Test用户登录,创建一个表,并插入两条数据:create table t1( Id varchar(50) primary key, title varchar(50)); insert into t1 values(sys_guid(),'t1');insert into t1 values(sys_guid(),'t2');commit;先写一个导出的脚本文件:export ORACLE_BASE=/u01/appexport ORACLE_HOME=/u01/app/oracleexport ORACLE_SID=TESTexport PATH=$ORACLE_HOME/bin:$PATHd=$(date '+%Y%m%d')exp TEST/[email protected] file=/home/oracle/backup/$d.dmp log=/home/oracle/backup/$d.log owner=TESTzip -m /home/oracle/backup/$d.zip /home/oracle/backup/$d.dmp /home/oracle/backup/$d.log前4句是设置环境变量,因为crontab定时调用时,不会使用oracle用户的环境变量,所以要先把它们导进来。第6行以当前日期作为导出的文件名,例如20120626.dmp和20120626.log。第7行把这两个文件打成一个zip包,并删掉这两个文件。要用chmod命令把这个sh标记为可执行:chmod +x backup.sh 用oracle用户,输入crontab -e命令,编辑oracle用户的任务计划:[[email protected] backup]$ crontab -e42 13 * * * /home/oracle/backup/backup.sh这样就添加了一个计划,在每天的13点42分运行/home/oracle/backup/backup.sh。 另外,每天运行完之后,会收到mail通知,可以在mail里看出到底有没有正确运行。

5. 如何在linux下实现mysql数据库每天自动备份

方法/步骤1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup2.新建备份的脚本vim /root/mysql_backup.sh3.在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

6. linux下mysql怎么定时备份到另一台服务器

定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果! 存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /tmpfs 1.9G 92K 1.9G 1% /dev/shm/dev/sda1 485M 39M 421M 9% /boot/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home1234561234562、创建备份目录:上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件

7. 怎么linux下定时备份mysql数据库备份

1、查看磁盘空间情况:既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果! 存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /tmpfs 1.9G 92K 1.9G 1% /dev/shm/dev/sda1 485M 39M 421M 9% /boot/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home1234561234562、创建备份目录:上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;cd /homemkdir backupcd backup1231233、创建备份Shell脚本:注意把以下命令中的DatabaseName换为实际的数据库名称; 当然,你也可以使用其实的命名规则!vi bkDatabaseName.sh11输入/粘贴以下内容:#!/bin/bashmysqlmp -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212对备份进行压缩:#!/bin/bashmysqlmp -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212注意: 把 username 替换为实际的用户名; 把 password 替换为实际的密码; 把 DatabaseName 替换为实际的数据库名;4、添加可执行权限:chmod u+x bkDatabaseName.sh11添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;./bkDatabaseName.sh115、添加计划任务检测或安装 crontab确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装# crontab-bash: crontab: command not found

8. linux服务器操作系统,怎么实现定时备份数据库

linux系统下使用脚本定时备份数据库,代码如下:

#!/bin/bash#Setting#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式#默认情况下备份方式是mysqlmp,还可以是mysqlmp,mysqldot,如果注释掉第#18行,则默认以tag的方式备份#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgzDBName=mysqlDBUser=rootDBPasswd=123456BackupPath=/home/wang/www/backup/mysql/mysqlbackupLogFile=/home/wang/www/backup/mysql/db.logDBPath=/var/lib/mysql/#BackupMethod=mysqlmp#BackupMethod=mysqlhot#BackupMethod=tar#SettingEndNewFile="$BackupPath"db$(date+%y%m%d).tgzDumpFile="$BackupPath"db$(date+%y%m%d)OldFile="$BackupPath"db$(date+%y%m%d–date='5daysago').tgzecho"——————————————-">>$LogFileecho$(date+"%y-%m-%d%H:%M:%S")>>$LogFileecho"————————–">>$LogFile#DeleteOldFileif[-f$OldFile]thenrm-f$OldFile>>$LogFile2>&1echo"[$OldFile]DeleteOldFileSuccess!">>$LogFileelseecho"[$OldFile]NoOldBackupFile!">>$LogFilefiif[-f$NewFile]thenecho"[$NewFile]TheBackupFileisexists,Can’tBackup!">>$LogFileelsecase$BackupMethodinmysqlmp*)if[-z$DBPasswd]thenmysqlmp-u$DBUser–opt$DBName>$DumpFileelsemysqlmp-u$DBUser-p$DBPasswd–opt$DBName>$DumpFilefitarczvf$NewFile$DumpFile>>$LogFile2>&1echo"[$NewFile]BackupSuccess!">>$LogFilerm-rf$DumpFile;;mysqlhot*)rm-rf$DumpFilemkdir$DumpFileif[-z$DBPasswd]thenmysqlhot-u$DBUser$DBName$DumpFile>>$LogFile2>&1elsemysqlhot-u$DBUser-p$DBPasswd$DBName$DumpFile>>$LogFile2>&1fitarczvf$NewFile$DumpFile>>$LogFile2>&1echo"[$NewFile]BackupSuccess!">>$LogFilerm-rf$DumpFile;;*)/etc/init.d/mysqldstop>/dev/null2>&1tarczvf$NewFile$DBPath>>$LogFile2>&1/etc/init.d/mysqldstart>/dev/null2>&1echo"[$NewFile]BackupSuccess!">>$LogFile;;esacfiecho"——————————————-"echo#lftp-flftp.sh如果有FTP可同时上传ftp中。

再利用crontab命令生成/var/spool/cron/root 文件:

#crontab–e//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令//mhdommondowcommand//具体意义表示:分钟小时日期月份星期命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)//如:1002***/home/backup/autobackupmysql.sh(表示零晨二点十分执行备份脚本)

9. linux 每日自动备份文件的脚本

1、比如每天产生一个/data/access.log这样的文件,我们每天备份到backup目录的access_2011-01-12.log.gz这样的文件。2、增专加计划任务exportEDITOR=vicrontab-e00***/data/bak.sh;3、bak.sh文件内属容如下:cat/data/bak.sh#!/bin/bashlogs_dir=/databak_dir=/data/backupbak_file=access_`date+%Y%m%d`.log#tareveryday#echo"beginingoftar"tarzcf$bak_dir/$bak_file.gz$logs_dir/access.log#clearbak_file#echo"clearingfile.log"find$bak_dir-mtime+7-execrm-rf{}\;#end求采纳为满意回答。

10. 如何在linux下实现每天自动备份mysql数据库

方法/步骤1. 在根目录下新建定时备份存储文件夹mkdir /mysql_backup2.新建备份的脚本vim /root/mysql_backup.sh3.在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 “ 表示保存重新启动crond service crond restart 或 /etc/rc.d/init.d/crond restart