Инструменты пользователя

Инструменты сайта


ubuntu:cron-weekly-monthly-daily-backup

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
ubuntu:cron-weekly-monthly-daily-backup [2011/03/25 14:32] arturubuntu:cron-weekly-monthly-daily-backup [2017/03/23 21:59] (текущий) – внешнее изменение 127.0.0.1
Строка 4: Строка 4:
  
 http://wiki.ninjafocus.net/Mysql-backup-script#Windows_MySQL_Backup_Script http://wiki.ninjafocus.net/Mysql-backup-script#Windows_MySQL_Backup_Script
 +
 +
 +===== Хинты для написание скриптов для бэкапа =====
 +<code bash>#!/bin/bash
 +
 +# заносим в переменную DATE текущую дату 
 +DATE=`/bin/date '+%d.%m.%Y'`
 +
 +# переходим в каталог, в котором находятся рабочие скрипты
 +cd /home/virtual/
 +
 +# сохраняем дамп mysql
 +/usr/bin/mysqldump -u USER -p PASSWORD BD_NAME > ./db.sql
 +
 +# архивируем все каталоги, кроме тех, в которых находится файл .noarchive 
 +/bin/tar -zcf PATH-TO-DIR-BACKUP/$DATE.backup.tar.gz --exclude-tag=.noarchive ./
 +
 +# удаляем архивы, которым уже больше семи дней 
 +/usr/bin/find PATH-TO-DIR-BACKUP/ -type f -atime +7 -exec rm -f \{\} \; >/dev/null 2>&1</code>
 +
 +
 +
 +===== Удаление старых файлов с FTP через Perl =====
 +<code perl>#!/usr/bin/perl
 +
 +use strict;
 +use Net::FTP;
 +
 +my $host        = "ftp.hostname.com";
 +my $dir         = "/";
 +my $user        = "foo";
 +my $passwd      = "bar";
 +my $interval    = 3600*24*62; # 62 day
 +my $passive     = 1; # my FTP server only works in PASV mode
 +my $DEBUG       = 0;
 +
 +my $ftp = Net::FTP->new($host,
 + Debug => $DEBUG,
 + Passive => $passive)
 + or die "Can't open $host\n";
 +$ftp->login($user, $passwd) or die "Can't log in as $user\n";
 +$ftp->cwd($dir) or die "Can't chdir to $dir\n";
 +my @files = $ftp->ls();
 +
 +foreach my $file (@files) {
 + my $file_mdtm = $ftp->mdtm($file) or die "Can't find $file in $dir\n";
 + if (time - $file_mdtm >= $interval) {
 + print "File $file is older than $interval secs: deleted\n";
 + $ftp->delete($file) unless $DEBUG;
 + }
 +}</code>
 +
 ++chmod 700
  
 ===== Простой скрипт для бэкапов ===== ===== Простой скрипт для бэкапов =====
ubuntu/cron-weekly-monthly-daily-backup.1301052750.txt.gz · Последнее изменение: 2017/03/23 21:57 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki