Tôi có một thư mục trong máy chủ chứa một số tập tin. Đây là những điều tự động có nghĩa là hàng ngày chúng ta sẽ tự động nhận được các tệp mới sẽ ghi đè lên những tệp cũ. Vì vậy, muốn sao lưu dữ liệu này. Làm cách nào để sao chép tất cả các tệp này vào một thư mục khác bằng cách đổi tên tệp với ngày hiện tại trong khi sao chép.Shell script để sao chép các tập tin từ một địa điểm này sang một vị trí khác và đổi tên thêm ngày hiện tại vào mỗi tập tin
ví dụ: tôi có thư mục có tên folder1 chứa 4 tệp. con đường cho thư mục này là home/webapps/project1/folder1
- aaa.csv
- bbb.csv
- ccc.csv
- ddd.csv
bây giờ tôi muốn sao chép tất cả bốn tệp này trong một thư mục khác có tên là folder2. đường dẫn cho thư mục này là home/webapps/project1/folder2. trong khi sao chép các tệp này, tôi muốn đổi tên từng tệp và thêm ngày hiện tại vào tệp. nên tên tập tin của tôi trong folder2 nên ..
- aaa091012.csv
- bbb091012.csv
- ccc091012.csv
- ddd091012.csv
Tôi muốn viết một vỏ kịch bản cho việc này. Xin vui lòng cho tôi một số ý tưởng hoặc một số kịch bản mẫu liên quan đến điều này.
Bạn có thể muốn "di chuyển" các tệp vào thư mục mới của mình thay vì "sao chép".Nếu không, lần sau khi bạn chạy tập lệnh, bạn sẽ sao chép tệp ngay cả khi chúng không thay đổi. Với câu trả lời được cung cấp, sử dụng lệnh 'mv' thay vì' cp'. Nếu hai thư mục nằm trên các hệ thống tệp khác nhau (nghĩa là bạn không thể sử dụng 'mv'), hãy thêm lệnh' rm' để xóa tệp nguồn sau bản sao. Và nếu bạn ** cần ** sử dụng 'cp', tôi sẽ thêm tùy chọn' -p' để giữ dấu thời gian ban đầu. – BellevueBob
@ran, cho máy chủ Linux cũng vậy, câu trả lời dưới đây sẽ hoạt động ???? –