จะทำการ zip โฟลเดอร์และอัพโหลดไปยัง Dropbox ได้อย่างไร?


1

ฉันต้องการ zip โฟลเดอร์และอัปโหลดไปยัง dropbox ของฉันจาก Ubuntu shell ฉันตั้งใจจะใช้สิ่งนี้เป็นโซลูชั่นสำรองดังนั้นจึงเป็นการดีที่จะเรียกใช้ทุกวันและแทนที่ไฟล์เก่า หากดรอปบ็อกซ์ไม่อนุญาตให้ใช้บริการคลาวด์อื่น ๆ ที่คุณคิดว่าใช้งานได้

คำตอบ:


4

การซิปและการย้ายไฟล์

ต่อไปนี้จะ zip ไดเรกทอรี foo ในโฟลเดอร์บ้านของคุณเป็นไฟล์ชื่อ backup.zipซึ่งจะถูกเก็บไว้ในโฟลเดอร์บ้านของคุณ

zip -r ~/backup.zip ~/foo

ตอนนี้สิ่งที่คุณต้องทำคือย้ายไฟล์นั้นไปที่ Dropbox ของคุณ:

mv ~/backup.zip ~/Dropbox/

หากไฟล์สำรองมีอยู่แล้ว mv จะเขียนทับมันโดยไม่แจ้งให้คุณทราบดังนั้น


โดยอัตโนมัติมัน

คุณสามารถใส่มันลงในไฟล์สคริปต์หรืออาจเรียกมันว่า backup.sh และเก็บไว้ในโฟลเดอร์บ้านของคุณ

#!/bin/bash
zip -r ~/backup.zip ~/foo
mv ~/backup.zip ~/Dropbox/

แค่นั้นแหละ. หากคุณต้องการเก็บรุ่นเก่าไว้คุณสามารถประทับเวลาไฟล์ที่สร้างขึ้นได้ date คำสั่งก่อน:

#!/bin/bash
d=$(date +"%Y-%m-%d") # => this returns 2012-03-25, for example
zip -r ~/backup-$d.zip ~/foo
mv ~/backup-$d.zip ~/Dropbox/

ตอนนี้ในบรรทัดคำสั่งของคุณทำให้ไฟล์ที่ปฏิบัติการ:

chmod +x ~/backup.sh

สิ่งเดียวที่คุณต้องทำเพื่อเพิ่มสิ่งนี้ลงในตารางคือแก้ไขของคุณ crontab:

EDITOR=nano;crontab -e

เพิ่มบรรทัดต่อไปนี้:

0   15  *   *   *   ~/backup.sh >/dev/null

กด Ctrl-O และเข้าสู่การบันทึก การสำรองข้อมูลของคุณจะทำงานเวลา 15:00 นทุกวัน สำหรับตัวเลือกเพิ่มเติมอ่านบทความของ Wikipedia ที่ cron .


ฉันขอแนะนำด้วยเช่นกันหากคุณต้องการเก็บประวัติการสำรองข้อมูล (ซึ่งโดยปกติจะเป็นสิ่งที่ดีที่ต้องทำ) คุณสามารถให้สคริปต์ประทับเวลาไฟล์. zip และล้างข้อมูลรุ่นเก่ากว่าได้
Ben Richards

จริงฉันเพิ่มตัวอย่าง
slhck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.