Backup Data tự động theo thời gian cài đặt (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Datcdt2k9

Thành viên hoạt động
Tham gia
27/12/19
Bài viết
109
Được thích
11
Em chào mọi người
Hàng ngày em cần backup data từ 1 server nguồn sang 1 server backup đề phòng server nguồn bị mất dữ liệu hoặc gặp vấn đề gì đó, hiện em đang thực hiện 1 cách thủ công như copy tay thông thường, lúc nhớ lúc quên
Nhờ anh chị giúp em tạo code có thể backup file tự động hàng ngày theo thời gian đặt trước(4h/lần hoặc 6h/lần sẽ run code), folder cần backup hàng ngày cố định, bên trong folder cần backup này sẽ có rất nhiều folder con chứa các file => Khi copy gặp các file đã tồn tại rồi thì bỏ qua không ghi đè, cũng tương tự như khi mình copy thông thường, chỉ lấy các file mới, bỏ qua file đã tồn tại
Trong file em sẽ có đường dẫn folder cần backup(Sever nguồn) và đường dẫn tới folder backup (Server Backup), sẽ hiển thị ngày backup folder và tình trạng backup để khi mở file excel ra em có thể biết được file ngày hôm đó có được backup hay không
Em xin cảm ơn

1610719673445.png
 

File đính kèm

Lần chỉnh sửa cuối:
Công ty có một đống servers mà không chịu mướn một ăc-min đàng hoàng để cho nhân viên phải backup tay sao?
Nếu mỗi nhân viên đều có thể dùng VBA để xâm nhập xuyên servers thế này ba bữa hackers nó nện cho mạng tan tành.

Mà backup thì dùng PowerShell chứ ai lại dùng Excel.
 

Em chào mọi người
Hàng ngày em cần backup data từ 1 server nguồn sang 1 server backup đề phòng server nguồn bị mất dữ liệu hoặc gặp vấn đề gì đó, hiện em đang thực hiện 1 cách thủ công như copy tay thông thường, lúc nhớ lúc quên
Nhờ anh chị giúp em tạo code có thể backup file tự động hàng ngày theo thời gian đặt trước(4h/lần hoặc 6h/lần sẽ run code), folder cần backup hàng ngày cố định, bên trong folder cần backup này sẽ có rất nhiều folder con chứa các file => Khi copy gặp các file đã tồn tại rồi thì bỏ qua không ghi đè, cũng tương tự như khi mình copy thông thường, chỉ lấy các file mới, bỏ qua file đã tồn tại
Trong file em sẽ có đường dẫn folder cần backup(Sever nguồn) và đường dẫn tới folder backup (Server Backup), sẽ hiển thị ngày backup folder và tình trạng backup để khi mở file excel ra em có thể biết được file ngày hôm đó có được backup hay không
Em xin cảm ơn

View attachment 253043
Chuyện này không khó, nhưng thực ra có những phần mềm backup rất hay mà cách đây 5 hay 6 năm gì đó tôi đã dùng rất tốt mà chừ quên rồi (có thể bây giờ nhiều PM còn tốt hơn nữa), rất trực quan để lên lịch backup khi nào, ở thư mục nào...

Bạn chịu khó tìm sẽ thấy nhiều PM miễn phí làm điều đó.
 
Công ty có một đống servers mà không chịu mướn một ăc-min đàng hoàng để cho nhân viên phải backup tay sao?
Nếu mỗi nhân viên đều có thể dùng VBA để xâm nhập xuyên servers thế này ba bữa hackers nó nện cho mạng tan tành.

Mà backup thì dùng PowerShell chứ ai lại dùng Excel.
Nói là server nhưng thực chất nó là cái máy tính bình thường thôi ạ, cái này em tự quản lý riêng, em chọn dùng vba do nó kết hợp với excel luôn, em không được cài đặt thêm app nào
Bài đã được tự động gộp:

Chuyện này không khó, nhưng thực ra có những phần mềm backup rất hay mà cách đây 5 hay 6 năm gì đó tôi đã dùng rất tốt mà chừ quên rồi (có thể bây giờ nhiều PM còn tốt hơn nữa), rất trực quan để lên lịch backup khi nào, ở thư mục nào...

Bạn chịu khó tìm sẽ thấy nhiều PM miễn phí làm điều đó.
Uk app thì mình nghĩ rất nhiều nhưng mình không được cài app bạn ạ, với lại vba có thể làm được trên excel thì vẫn tốt hơn
 
Nói là server nhưng thực chất nó là cái máy tính bình thường thôi ạ, cái này em tự quản lý riêng, em chọn dùng vba do nó kết hợp với excel luôn, em không được cài đặt thêm app nào
Bài đã được tự động gộp:


Uk app thì mình nghĩ rất nhiều nhưng mình không được cài app bạn ạ, với lại vba có thể làm được trên excel thì vẫn tốt hơn
Dùng task schedule tự động mở file vào thời điểm mình cần, code workbook open là chạy code.
Còn code thế nào thì bạn tự nghiên cứu nhé :D
 
Bạn có thể đi từ đây để đến đích của mình:

Có thể chia nhỏ ra từng phần để hỏi, rồi bạn sẽ học được rất nhiều.
 
Bạn có thể đi từ đây để đến đích của mình:

Có thể chia nhỏ ra từng phần để hỏi, rồi bạn sẽ học được rất nhiều.
Mình đã đọc qua thấy cũng khá rắc rối, rất nhiều bước phải thực hiện để cài trên máy ,code vbs
 
Công ty có một đống servers mà không chịu mướn một ăc-min đàng hoàng để cho nhân viên phải backup tay sao?
Nếu mỗi nhân viên đều có thể dùng VBA để xâm nhập xuyên servers thế này ba bữa hackers nó nện cho mạng tan tành.

Mà backup thì dùng PowerShell chứ ai lại dùng Excel.
thế thì bác phải lo giữ lấy chứ, bác hack ngược lại để chống
 
Trong bài này mình đọc và dịch thì hiểu là code để bật marco tự động theo giờ, mình không rành về VBA nên mong bạn giúp mình hoàn thành như đề bài mình mong muốn. Mình cảm ơn
Trong đó người ta hướng dẫn cụ thể, có hình ảnh từng bước
Thực hiện theo thôi
Các thao tác này phải trực tiếp trên máy của bạn, nên chỉ có bạn mới giúp được chính mình thôi.
 
Trong đó người ta hướng dẫn cụ thể, có hình ảnh từng bước
Thực hiện theo thôi
Các thao tác này phải trực tiếp trên máy của bạn, nên chỉ có bạn mới giúp được chính mình thôi.
Mình đọc và hiểu là các bước hướng dẫn trên đây chỉ là code để tự động chạy marco, chứ chưa có code để copy folder phải không bạn
 
Đầu tiên hết, cần nhấn mạnh chỗ này để các bạn khác cần tham khảo không bị hiểu lầm:

Công việc mà thớt muốn làm ở đây là backup files và folders. Không hẳn là backup data như tiêu đề đã nói.

Điểm thứ hai, backup files và folders không hẳn đơn giản như thớt nêu ra:

Công việc mà thớt muốn làm ở đây là thuần tuý copy fileê/folders từ một nơi chứa (storage/depository) này sang một nơi chứa khác. Việc thớt nêu ra "server này sang server khác" có thể diễn giải nôm na ra là nơi backup phải luôn online.

Trên thực tế, backup là một công việc có quy trình phức tạp hơn nhiều:
1. backup versions: ngày hôm qua version khác với ngày hôm kia. Tuần truớc khác với tuần này.
2. backup luỹ tiến: cứ mỗi version là copy hết từ a đến z hay chỉ copy những files có thay đổi.
3. quy trình hồi phục (recover): nếu có biến cố thì hồi phục cách nào?


Điểm thứ ba, phương pháp:

Quý vị cần xem kỹ 3 điều nêu trong mục trước, suy tính cho kỹ và áp dụng một trong hai cách sau đây:

1. Sử dụng kiến thức và công cụ lô can:

Files/folders là công việc của shell. VBA hay VBScript (thực ra nếu code không cần lamnf việc với bảng tính thì dùng VBScript tốt hơn) thì cũng pahir dùng Shell command hay gọi cái COM FileSystemObject để làm việc.
PowerShell nhiều tính năng hơn và vì vậy hiệu quả hơn.

2. Dùng hần mềm chuyên nghiệp:
Các phần mềm này rất dễ sử dụng và rất hiệu quả.
 
Đầu tiên hết, cần nhấn mạnh chỗ này để các bạn khác cần tham khảo không bị hiểu lầm:

Công việc mà thớt muốn làm ở đây là backup files và folders. Không hẳn là backup data như tiêu đề đã nói.

Điểm thứ hai, backup files và folders không hẳn đơn giản như thớt nêu ra:

Công việc mà thớt muốn làm ở đây là thuần tuý copy fileê/folders từ một nơi chứa (storage/depository) này sang một nơi chứa khác. Việc thớt nêu ra "server này sang server khác" có thể diễn giải nôm na ra là nơi backup phải luôn online.

Trên thực tế, backup là một công việc có quy trình phức tạp hơn nhiều:
1. backup versions: ngày hôm qua version khác với ngày hôm kia. Tuần truớc khác với tuần này.
2. backup luỹ tiến: cứ mỗi version là copy hết từ a đến z hay chỉ copy những files có thay đổi.
3. quy trình hồi phục (recover): nếu có biến cố thì hồi phục cách nào?


Điểm thứ ba, phương pháp:

Quý vị cần xem kỹ 3 điều nêu trong mục trước, suy tính cho kỹ và áp dụng một trong hai cách sau đây:

1. Sử dụng kiến thức và công cụ lô can:

Files/folders là công việc của shell. VBA hay VBScript (thực ra nếu code không cần lamnf việc với bảng tính thì dùng VBScript tốt hơn) thì cũng pahir dùng Shell command hay gọi cái COM FileSystemObject để làm việc.
PowerShell nhiều tính năng hơn và vì vậy hiệu quả hơn.


2. Dùng hần mềm chuyên nghiệp:
Các phần mềm này rất dễ sử dụng và rất hiệu quả.
Vâng, phần mềm chuyên về cái này thì tốt hơn nhưng em không được cài, anh có thể giúp em sử dụng power shell để copy file tự động ( Backup lũy tiến chỉ copy file có thay đổi) hàng ngày được không ạ, em có lên mạng tìm hiểu mà chưa tìm ra được cái em cần.Mong anh giúp đỡ em ạ
 
Bạn nên tìm hiểu tính năng Task Scheduler tích hợp sẵn trong Windows. Cái này tôi nghe lâu lắm rồi nhưng gần đây mới áp dụng và thấy khá hữu ích. Với tình huống của bạn tôi thử làm 1 cái task (lệnh cmd) mỗi 5 phút chạy thì ok. Dưới đây là cài đặt thời gian ở Triggers

image_2021-01-16_223120.png

Bạn kết hợp Task Scheduler với lệnh copy hay xcopy là có thể giải quyết nhu cầu thôi.
 
Lần chỉnh sửa cuối:
Bạn nên tìm hiểu tính năng Task Scheduler tích hợp sẵn trong Windows. Cái này tôi nghe lâu lắm rồi nhưng gần đây mới áp dụng và thấy khá hữu ích. Với tình huống của bạn tôi thử làm 1 cái task (lệnh cmd) mỗi 5 phút chạy thì ok. Dưới đây là cài đặt thời gian ở Triggers

View attachment 253102

Bạn kết hợp Task Scheduler với lệnh copy hay xcopy là có thể giải quyết nhu cầu thôi.
Vâng, task scheduler em thấy hướng dẫn nhiều, nhưng lệnh copy thì em chưa tìm được, yêu cầu của em là copy cả những file trong folder và subfolder và sắp xếp dữ liệu như dữ liệu gốc, file nào tồn tại rồi thì không ghi đè anh ạ
 
file nào tồn tại rồi thì không ghi đè anh ạ
Theo trường hợp của bạn backup dữ liệu mà không ghi đè là sao bạn? Vậy vẫn giữa file dữ liệu cũ à?
Nếu không ghi đè thì tên file phải có thêm đuôi lưu thông tin thời gian backup để không bị tình trạng trùng tên file và đúng nghĩa là Backup dữ liệu theo thời gian.
 
Lần chỉnh sửa cuối:
- Bạn dùng phần mềm Second Copy cho chuyên nghiệp.
- Bạn không được cài phần mềm thì có thể chạy bản portable (phần mềm khác cũng được).
 
Theo trường hợp của bạn backup dữ liệu mà không ghi đè là sao bạn? Vậy vẫn giữa file dữ liệu cũ à?
Nếu không ghi đè thì tên file phải có thêm đuôi lưu thông tin thời gian backup để không bị tình trạng trùng tên file và đúng nghĩa là Backup dữ liệu theo thời gian.
File đã tồn tại ở folder đích rồi thì không backup nữa, file chưa tồn tại thư mục đích thì backup sang anh ạ, nguyên lý nó giống khi mình copy paste khi gặp file đã tồn tại máy sẽ hỏi có ghi đè hay không và mình nhấn không ghi đè
Bài đã được tự động gộp:

- Bạn dùng phần mềm Second Copy cho chuyên nghiệp.
- Bạn không được cài phần mềm thì có thể chạy bản portable (phần mềm khác cũng được).
Bản portable thì vẫn phải cài đúng không anh, em có lên mạng tìm hiểu về robocopy mà áp dụng thì báo lỗi a ạ, nên chưa tìm được cách giải quyết
 
Chép khúc dưới vào Notepad, lưu thành file.bat
PHP:
for /f "delims==" %%B in ('dir "C:\Users\Administrator\Desktop\Folder_Nguon" /s /b') do xcopy "%%B" "C:\Users\Administrator\Desktop\Folder_Dich" /Y

Chỉ áp dụng với đường dẫn là ký tự a-Z, 0-9

Dùng Task scheduler của Windows gọi file.bat kia chạy theo thời gian mong muốn là được.
 
1611130875240.png


Tình yêu nào có cách nào tắt giúp mình mấy cái kia với, mình đã làm mọi cách trong hiểu biết mà không được, tắt ứng dụng khởi động cùng windows, tắt trongTask Scheduler, nó cứ đơ ra, em vì thế mà giảm mất mấy cân thịt rồi.
 
View attachment 253234


Tình yêu nào có cách nào tắt giúp mình mấy cái kia với, mình đã làm mọi cách trong hiểu biết mà không được, tắt ứng dụng khởi động cùng windows, tắt trongTask Scheduler, nó cứ đơ ra, em vì thế mà giảm mất mấy cân thịt rồi.
Tắt trong thẻ Service của cửa sổ Thiết lập của system (vd. gõ msconfig trong tìm kiếm)?
 
Chép khúc dưới vào Notepad, lưu thành file.bat
PHP:
for /f "delims==" %%B in ('dir "C:\Users\Administrator\Desktop\Folder_Nguon" /s /b') do xcopy "%%B" "C:\Users\Administrator\Desktop\Folder_Dich" /Y

Chỉ áp dụng với đường dẫn là ký tự a-Z, 0-9

Dùng Task scheduler của Windows gọi file.bat kia chạy theo thời gian mong muốn là được.
Cho em hỏi code này nếu em thay đường dẫn nguồn là một địa chỉ server( \\107.114.172.222/data) thì code có copy được file và folder về folder đích không ạ
 
Cho em hỏi code này nếu em thay đường dẫn nguồn là một địa chỉ server( \\107.114.172.222/data) thì code có copy được file và folder về folder đích không ạ
Bạn tự mình làm thật luôn đi.
Nếu không được thì bạn map cái đó thành một ổ đĩa trên máy tính của bạn là được.
 
Chép khúc dưới vào Notepad, lưu thành file.bat
PHP:
for /f "delims==" %%B in ('dir "C:\Users\Administrator\Desktop\Folder_Nguon" /s /b') do xcopy "%%B" "C:\Users\Administrator\Desktop\Folder_Dich" /Y

Chỉ áp dụng với đường dẫn là ký tự a-Z, 0-9

Dùng Task scheduler của Windows gọi file.bat kia chạy theo thời gian mong muốn là được.

Chép khúc dưới vào Notepad, lưu thành file.bat
PHP:
for /f "delims==" %%B in ('dir "C:\Users\Administrator\Desktop\Folder_Nguon" /s /b') do xcopy "%%B" "C:\Users\Administrator\Desktop\Folder_Dich" /Y

Chỉ áp dụng với đường dẫn là ký tự a-Z, 0-9

Dùng Task scheduler của Windows gọi file.bat kia chạy theo thời gian mong muốn là được.
Em test code này thì chỉ chép các file trong folder đó nhưng không copy các file trong sub folder anh ạ, trong folder theo đường dẫn kia thì bài toán của em còn rất nhiều file trong các sub folder và em cần lấy hết anh ạ
 
Em test code này thì chỉ chép các file trong folder đó nhưng không copy các file trong sub folder anh ạ, trong folder theo đường dẫn kia thì bài toán của em còn rất nhiều file trong các sub folder và em cần lấy hết anh ạ
Bạn thử khác một chút xem có đúng yêu cầu không.

Toàn bộ nội dung tập tin BAT
-----------
xcopy "D:\cac loai\unikey" "d:\hic hic" /s /y
-----------

Ý nghĩa: Sao chép các thư mục con, cháu chắt và các tập tin trong thư mục unikey (D:\cac loai\unikey) vào thư mục "hic hic". Giả sử unikey có 5 tập tin và 3 thư mục thì sau khi copy trong "hic hic" có 5 tập tin và 3 thư mục.
 
Em test code này thì chỉ chép các file trong folder đó nhưng không copy các file trong sub folder anh ạ, trong folder theo đường dẫn kia thì bài toán của em còn rất nhiều file trong các sub folder và em cần lấy hết anh ạ
À, vậy liệt kê thêm các files trong subfolder(s) là được.
Các files mà trùng tên chỉ copy được 1 file thôi đó.

PHP:
for /f "delims==" %%B in ('dir "C:\Users\Administrator\Desktop\Folder_Nguon" /s /b /A-D') do xcopy "%%B" "C:\Users\Administrator\Desktop\Folder_Dich" /Y
 
Cháu đã làm theo, và không tài nào thấy con ma google nó trốn ở chỗ nào.

View attachment 253325
Hình chụp của bạn tôi thấy lạ quá.

Trong XP trong trường Run hoặc trong Windows 10 bên cạnh nút Start (trên hình là số 1) tôi gõ msconfig. Hoặc nhấn vào nút Start tr ong Windows 10-> trong nhóm system administration tools (dịch từ Ba Lan bằng google) tôi chọn system configuration (dịch từ Ba Lan bằng google). Cũng có thể nhận biết qua biểu tượng (icon). Trong cửa sổ nhẩy ra tôi chọn thẻ Service. Do có nhiều dịch vụ nên tôi chọn dấu tích ở 2 để ẩn các dịch vụ của Windows. Trong các dịch vụ còn lại tôi thấy trong system của tôi có 3 dịch vụ của google.

menu.jpg

config.jpg
 
Bạn thử khác một chút xem có đúng yêu cầu không.

Toàn bộ nội dung tập tin BAT
-----------
xcopy "D:\cac loai\unikey" "d:\hic hic" /s /y
-----------

Ý nghĩa: Sao chép các thư mục con, cháu chắt và các tập tin trong thư mục unikey (D:\cac loai\unikey) vào thư mục "hic hic". Giả sử unikey có 5 tập tin và 3 thư mục thì sau khi copy trong "hic hic" có 5 tập tin và 3 thư mục.

Bạn thử khác một chút xem có đúng yêu cầu không.

Toàn bộ nội dung tập tin BAT
-----------
xcopy "D:\cac loai\unikey" "d:\hic hic" /s /y
-----------

Ý nghĩa: Sao chép các thư mục con, cháu chắt và các tập tin trong thư mục unikey (D:\cac loai\unikey) vào thư mục "hic hic". Giả sử unikey có 5 tập tin và 3 thư mục thì sau khi copy trong "hic hic" có 5 tập tin và 3 thư mục.
em làm được rồi, em cảm ơn ạ
Bài đã được tự động gộp:

À, vậy liệt kê thêm các files trong subfolder(s) là được.
Các files mà trùng tên chỉ copy được 1 file thôi đó.

PHP:
for /f "delims==" %%B in ('dir "C:\Users\Administrator\Desktop\Folder_Nguon" /s /b /A-D') do xcopy "%%B" "C:\Users\Administrator\Desktop\Folder_Dich" /Y
em test ok rồi anh ạ, cảm ơn anh
 
Em chào mọi người
Hàng ngày em cần backup data từ 1 server nguồn sang 1 server backup đề phòng server nguồn bị mất dữ liệu hoặc gặp vấn đề gì đó, hiện em đang thực hiện 1 cách thủ công như copy tay thông thường, lúc nhớ lúc quên
Nhờ anh chị giúp em tạo code có thể backup file tự động hàng ngày theo thời gian đặt trước(4h/lần hoặc 6h/lần sẽ run code), folder cần backup hàng ngày cố định, bên trong folder cần backup này sẽ có rất nhiều folder con chứa các file => Khi copy gặp các file đã tồn tại rồi thì bỏ qua không ghi đè, cũng tương tự như khi mình copy thông thường, chỉ lấy các file mới, bỏ qua file đã tồn tại
Trong file em sẽ có đường dẫn folder cần backup(Sever nguồn) và đường dẫn tới folder backup (Server Backup), sẽ hiển thị ngày backup folder và tình trạng backup để khi mở file excel ra em có thể biết được file ngày hôm đó có được backup hay không
Em xin cảm ơn

View attachment 253043

Bài toán của bạn tôi sẽ làm như sau:

1. Tạo file .bat có lệnh sau:

Mã:
Echo off
Mkdir %date:~6,4%.%date:~3,2%.%date:~0,2%-%time:~0,2%.%time:~3,2%
Xcopy \\192.168.1.123\MyData\QuanTrong D:\%date:~6,4%.%date:~3,2%.%date:~0,2%-%time:~0,2%.%time:~3,2% /E

2. Tạo 1 task trong Task Scheduler như trong bài #16 đã giới thiệu
3. Để xem log thì tạo 1 file Excel với code VBA để quét thư mục (với Tên file, dung lượng file, kiểu file, ngày sửa đổi cuối....)
4. Để tạo email báo cáo kết quả khi backup xong thì dùng 1 app mini là SendMail nữa. Nếu muốn xem kết quả chi tiết trực quan, chắc cú thì cho backup vào 1 thư mục nằm trong OneDrive/ Google Drive. Sau đó mở điện thoại xem từng file được backup (cài OneDrive/ Google Drive trên điện thoại)

Tóm lại có vài công cụ đơn giản, miễn phí mà vẫn hiệu quả. Hãy chọn phương pháp mà mình bảo trì, sửa chữa nó được.
 

Bài viết mới nhất

Back
Top Bottom