Sau đây mình sẽ hướng dẫn các bạn tạo 1 bash shell có chức năng tự động gửi file lên ftp serer và xóa file đã gửi.
Tạo file upload.sh
vi /home/tmpdir/upload.sh
Nội dụng file:
#!/bin/bash HOST=192.168.1.169 USER=admin PASSWORD=admin123@ mv /home/dir/*.jpg /home/tmpdir/ cd /home/tmpdir/ ftp -inv $HOST <<EOF user $USER $PASSWORD cd /home/dest_dir/ mput *.jpg bye EOF rm -rf /home/tmpdir/*.jpg
Chú thích
HOST=192.168.1.169 | FTP server IP |
USER=ftpadmin | Ftp user |
PASSWORD=admin123@ | Password |
mv /home/dir/*.jpg /home/tmpdir/ | Di chuyển file cần upload đến thư mục tạm |
cd /home/tmpdir/ | Chuyển đến thư mục tạm chứa file cần upload |
ftp -inv $HOST <<EOF user $USER $PASSWORD |
Đăng nhập FTP Server |
cd /home/dest_dir/ | Chuyến đến thư mục đích chứa file |
mput *.jpg | upload toàn bộ file ảnh đuôi jpg |
rm -rf /home/tmpdir/*.jpg | Xóa toàn bộ file đã upload trong thư mục tạm |
Việc tạo thư mục tạm để tránh việc upload lại những file đã upload và xóa nhầm file chưa đc upload.
Lập lịch
Nếu bạn muốn lập lịch tự động có thể cấu hình crontab làm việc này. Để chỉnh sửa crontab dùng lệnh:
crontab -e
Sau đó thêm dòng sau:
*/1 10-11 * * */home/tmpdir/upload.sh >/dev/null 2>&1
Ví dụ trên là từ 10h – 11h mỗi phút 1 lần chạy file upload.sh
[quangcao]
Chúc các bạn thành công.