МАСТЕРКОМ

IT-СИСТЕМЫ ПРОСТО И ДЛЯ ВСЕХ

SEO

Статья на тему DevOps.

Не будем занудствовать, а просто скинем пару лайф-хаков.

Как забэкапить 1С 8.3 в Windows?

@echo off rem бэкапим базу 1С "C:\Program Files\7-zip\7z.exe" a -t7z -mx5 -scsWIN -ssw "D:\backup\1Cback-%date%-%time:~0,2%.%time:~3,2%.%time:~6,2%.7z" "C:\1c_base" rem удаляем старые файлы из архива forfiles -p "D:\backup" -s -m *.7z -d -60 -c "cmd /c if /i @isdir equ false del /q /s @path"

Как видно всё просто.

Создаём .bat файл с данным содержимым и в "Планировщике заданий" Виндовс указываем путь до него и периодичность запуска.

Расшифруем параметры:

a -t7z -mx5 -scsWIN -ssw указываем степень сжатия и тип архива
%date%-%time:~0,2%.%time:~3,2%.%time:~6,2% "вызываем" системное время в имя файла
-s -m *.7z -d -60 -c удалить файлы старше 60-ти дней
/c if /i @isdir equ false del /q /s @path где и как их искать

Как забэкапить 1С 7.7 в Ubuntu?

5 0 * * * cd /var/base1c/; zip -9 -r - * | ncftpput -c -u XXXXXXX -p XXXXXXX -P 21 -F  XXX.XXX.XXX.XXX /spb/nw-1C77-`date +\%d.\%m.\%Y`.zip

Тут посложнее.

На нужно набрать комманду sudo crontab -e и попасть в CRON, где и прописать задание.

Расшифруем параметры:

5 0 * * * время запуска (тут каждый день в 00:05)
cd /var/base1c/; "спуститься" до каталога бэкапирования
zip -9 -r - * | создать архив и "передать" его другой программе
ncftpput -c -u XXX -p XXX -P 21 -F XXX.XXX.XXX.XXX передать по FTP с заданными учётными данными

Как забэкапить SQL базу в Ubuntu?

40 0 * * * /usr/bin/mysqldump -XXXX -PXXXXX -h127.0.0.1 -p'XXXXXX' --all-databases | /bin/gzip -9 | /usr/bin/ncftpput -c -u YYYYY -p YYYYY -P 21 -F  YYY.YYY.YYY.YYY /ptz/nc`date +\%d-\%m-\%Y`.zip

А тут надо "почесать репу".

Делаем аналогично предыдущему через CRON, но незабываем, что он очень капризен к нестандартному синтаксису!

Расшифруем параметры:

mysqldump -XXXX что будем бэкапить
-PXXXXX -h127.0.0.1 -p'XXXXXX' порт, адрес, пароль от базы
--all-databases какие базы будем бэкапить

Как забэкапить 1С 7.7 в Windows, вместе со всеми файлами?

@echo off

setlocal enableextensions enabledelayedexpansion

:: directory for backup in Petrozavodsk

set drS=G:\
set drD=D:\backup
set drL=D:\backup\logs

:: set time mark

set h=%time:~0,2%
set m=%time:~3,2%
set s=%time:~6,2%
set curtime=%h%.%m%.%s%

:: exception file or folder

set incl=D:\backup\exclus.txt

:: name archive

set arh=nc-1C77-%date%.zip

:: max LZMA2

echo started at backup_%date%_%curtime% >> "%drL%\backup_log_%date%.txt"
"%ProgramFiles%\7-Zip\7z.exe" a -tzip -ssw -mx=5 -scsWIN "%drD%\%arh%" "%drS%" -x@"%incl%" -bso2 2>> "%drL%\backup_log_%date%.txt"
echo stoped at backup_%date%_%curtime% >> "%drL%\backup_log_%date%.txt"

:: upload Moscow base 1C to our server

"%ProgramFiles%\7-zip\7z.exe" x "%drD%\http\msk\uv-1C81-%date%.7z" -r -y -o"G:\Склад 8.0 Универсал\" 2>> "%drL%\backup_log_%date%.txt"

:: upload Sankt-Petersburg base 1C to our server

"%ProgramFiles%\7-zip\7z.exe" x "%drD%\http\spb\nw-1C77-%date%.zip" -r -y -o"G:\СВ_склад\СВ СПб\" 2>> "%drL%\backup_log_%date%.txt"

:: recursive delete old arhive & MMSQL files & files

forfiles -p "%drD%" -s -m *.zip -d -4 -c "cmd /c if /i @isdir equ false del /q /s @path"
forfiles -p "%drD%" -s -m *.bkp -d -4 -c "cmd /c if /i @isdir equ false del /q /s @path"
forfiles -p "%drD%" -s -m *.bak -d -4 -c "cmd /c if /i @isdir equ false del /q /s @path"
forfiles -p "%drD%" -s -m *.7z -d -4 -c "cmd /c if /i @isdir equ false del /q /s @path"
del /f /s /q "D:\1c_base\sale\*"

endlocal
exit

Ну это вообще МЕГА "палочка-выручалочка".

Как забэкапить 1С 7.7 в SQL Express Windows?

Тут надо создать файл 1CMMSQLEbackup.sql вот с таким содежимым.

declare @path varchar(max)=N'D:\backup\backup_'+convert(varchar(max),getdate(),102)+'.bkp'
BACKUP DATABASE [ncm] TO DISK = @path WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N'ncm-backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

Создаём в "Планировщике заданий" Виндовс задачу - указываем периодичность запуска и путь до самой программы.

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE"

И указываем дополнительный аргумент.

-S .\sqlexpress -i "D:\backup\1CMMSQLEbackup.sql"