• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
vtvinh24

Server Tự động sao lưu

vtvinh24

SUPPORTER
THÀNH VIÊN
Tham gia
06/10/2019
Bài viết
2,917
Không biết anh em ra sao, chứ t là gần đây bận sml, cái sovo con con không có ai quản lí, chẳng may có gì xảy ra thì đi tong
Vậy nên, trong lúc rảnh rỗi t ngồi viết một đoạn script ngắn, giúp anh em nào giống t tiết kiệm thời gian bảo trì sv
Bash:
@echo off
title TITLE
chcp 65001
call :log
echo [%hd% x %ht%] Script được chạy>>time.log
:a
call :log
echo [%hd% x %ht%] Khởi động server>>time.log
javaw -Xms12G -Xmx12G -Dfile.encoding=UTF-8 -XX:+AlwaysPreTouch -jar paper.jar -nogui
@rem Hầu hết flag t đều k dùng đến, anh em cứ việc ném flag đang dùng vào, thay cho cái dòng củ lìn ở trên nếu cần nhé
setlocal enabledelayedexpansion
if exist .index (
    set /p build=<.index
    set /A build+=1
    (echo !build!)>.index
) else (
    rd /S /Q .\Backups
    (echo 0)>.index
    set build=0
)
"C:\Program Files\7-Zip\7z.exe" a "%cd%\Backups\bak#!build!" "%cd%\*" -r -x^^!*.bat -x^^!*.jar -x^^!*.7z
@rem có thể thêm script sao chép ftp hoặc cloud tại đây
@rem copy /switch "%cd%\Backups\bak#!build!.7z" "đích"
@rem gdrive ... #deprecated
call :log
:done
echo [%hd% x %ht%] Sao lưu thành công #!build!>>time.log
cls
goto a
:log
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set hd=%%b-%%a-%%c)
for /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set ht=%%a-%%b)
exit /b 0
Với script này, anh em hãy cài đặt 7zip trong máy, và nếu có phương pháp chuyển dữ liệu giữa các máy chủ thì càng tốt, và trong sv, anh em hãy tìm và tạo lệnh lưu và dừng định kì
Toàn bộ script sử dụng batch, đồng nghĩa với ae chỉ có thể sử dụng tại các sv chạy trên nền tảng Windows
File sao lưu đã tiết kiệm đến 95% bộ nhớ, vì sử dụng LZMA của 7z, kết hợp với loại bỏ các file không cần thiết như jar và các sao lưu cũ
T cũng đã thêm một log nhỏ để anh em theo dõi thời gian và số thự tự của sao lưu
Have a good day, see you again !
 
Không biết anh em ra sao, chứ t là gần đây bận sml, cái sovo con con không có ai quản lí, chẳng may có gì xảy ra thì đi tong
Vậy nên, trong lúc rảnh rỗi t ngồi viết một đoạn script ngắn, giúp anh em nào giống t tiết kiệm thời gian bảo trì sv
Bash:
@echo off
title TITLE
chcp 65001
call :log
echo [%hd% x %ht%] Script được chạy>>time.log
:a
call :log
echo [%hd% x %ht%] Khởi động server>>time.log
javaw -Xms12G -Xmx12G -Dfile.encoding=UTF-8 -XX:+AlwaysPreTouch -jar paper.jar -nogui
@rem Hầu hết flag t đều k dùng đến, anh em cứ việc ném flag đang dùng vào, thay cho cái dòng củ lìn ở trên nếu cần nhé
setlocal enabledelayedexpansion
if exist .index (
    set /p build=<.index
    set /A build+=1
    (echo !build!)>.index
) else (
    rd /S /Q .\Backups
    (echo 0)>.index
    set build=0
)
"C:\Program Files\7-Zip\7z.exe" a "%cd%\Backups\bak#!build!" "%cd%\*" -r -x^^!*.bat -x^^!*.jar -x^^!*.7z
@rem có thể thêm script sao chép ftp hoặc cloud tại đây
@rem copy /switch "%cd%\Backups\bak#!build!.7z" "đích"
@rem gdrive ... #deprecated
call :log
:done
echo [%hd% x %ht%] Sao lưu thành công #!build!>>time.log
cls
goto a
:log
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set hd=%%b-%%a-%%c)
for /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set ht=%%a-%%b)
exit /b 0
Với script này, anh em hãy cài đặt 7zip trong máy, và nếu có phương pháp chuyển dữ liệu giữa các máy chủ thì càng tốt, và trong sv, anh em hãy tìm và tạo lệnh lưu và dừng định kì
Toàn bộ script sử dụng batch, đồng nghĩa với ae chỉ có thể sử dụng tại các sv chạy trên nền tảng Windows
File sao lưu đã tiết kiệm đến 95% bộ nhớ, vì sử dụng LZMA của 7z, kết hợp với loại bỏ các file không cần thiết như jar và các sao lưu cũ
T cũng đã thêm một log nhỏ để anh em theo dõi thời gian và số thự tự của sao lưu
Have a good day, see you again !
cái này dùng cho phần mềm lập trình nào thế,chắc không phải là Intelijif Idea rồi
 
nice xừ
26918
 
Similar content Most view Xem thêm
Back
Top Bottom