ฉันใช้คำสั่งที่อธิบายข้างต้นจาก pehrs แต่แก้ไขเพื่อใช้ ftp ตัวอย่าง Crontab:
30 3 1 * * sudo /sbin/dump -0uan -f server-full-backup-root-`date '+%d-%B-%Y'`.dump / && gzip -1 /<path_to_backup_file>/server-full-backup-root-`date '+%d-%B-%Y'`.dump
50 * * * * lftp -f upload.x
upload.x มีหนังสือรับรอง ftp และกฎสำหรับการอัปโหลด:
open -u user,password -p 21 192.168.1.1
mirror -c -e -R /<path_to_backup_folder> /<path_to_remote_folder_without_trailing_slash>
exit
หมายเหตุ 1: lftp อาจทำให้เกิดการใช้งาน CPU สูงเมื่อไม่สามารถเชื่อมต่อปลายทางได้ เนื่องจากโฮสติ้ง VPS หลายแห่งอาจถูกรีเซ็ตในกรณีเช่นนี้ฉันแนะนำให้ตรวจสอบโหลดซีพียูเพื่อฆ่ากระบวนการ lftp เพื่อป้องกันเซิร์ฟเวอร์ของคุณปิดโดยเจ้าของโฮสต์ ตัวอย่างสำหรับโหลดเฉลี่ย> 1.33 สำหรับกระบวนการ lftp (และ dropbox) น่าเสียดายที่ฉันจำรหัสที่มาเริ่มต้นไม่ได้ขอบคุณคนที่:
crontab */5 * * * * /home/cms/cron/loadmon.sh
#!/bin/bash
FROM_EMAIL_ADDRESS=cms
trigger=1.33
load=`cat /proc/loadavg | awk '{print $1}'`
response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'`
if [[ $response = "greater" ]]
then
killall dropbox lftp
nice -n 19 sh /cms/.dropbox-dist/dropboxd
sar -q | mailx -s "High load on server - [ $load ]" r***s@gmail.com
fi
หมายเหตุ 2:ยูทิลิตี้การถ่ายโอนข้อมูลอาจไม่ทำงานบน OpenVZ VPS หรือเซิร์ฟเวอร์เสมือนอื่น ๆ