Cronjob Cadangan Ubuntu


1

Saya bertanya-tanya apakah seseorang dapat memberi saya skrip cepat yang dapat saya jalankan melalui cron yang akan mencadangkan seluruh direktori / var / www saya? Saya hanya ingin menjalankannya sekali sehari pada jam 3:05 pagi, dan meletakkan salinannya di / media / sadisa / a_backup / engine /. Akan lebih bagus jika bisa mengubah nama menjadi waktu, seperti / media / sadisa / a_backup / engine / 20100818_0305 / www atau sesuatu seperti itu, tetapi hanya www (1) www (2), dll juga akan berfungsi.

Terima kasih banyak!

  • Josh

Jawaban:


2

tarball dengan gzip-kompresi:

tar czf /media/sadisa/a_backup/engine/`date +%F`/var-www-`date +%F`.tgz /var/www/

File & folder biasa:

mkdir /media/sadisa/a_backup/engine/`date +%F`/
cp -a /var/www/ /media/sadisa/a_backup/engine/`date +%F`/var-www-`date +%F`


0

Gunakan perangkat lunak cadangan yang tepat untuk melakukan trik. Saya menggunakan BackupPC , yang bekerja dengan sangat baik. Sangat bisa dikonfigurasi.


0
DATE_HASH = $(echo -n `date` | openssl md5)
tar cvzf backup.tgz /var/www/
mv backup.tgz /backup_folder/${DATE_HASH}.tgz

Sunting: Saya jelas tidak ingat mengapa saya menulis bagian itu. Perbarui seperti yang direkomendasikan dalam komentar:

BACKUP_DATETIME=$(echo -n $(date +%Y%m%d_%H%M))
tar cvzf backup.tgz /var/www/
mv backup.tgz /backup_folder/${BACKUP_DATETIME}.tgz

Tidak ada spasi di sekitar tanda sama dengan. Mengapa tidak menggunakan tanggal yang bisa dibaca manusia? Mengapa tidak digunakan di $()dalam $()daripada backticks?
Dennis Williamson

Itu bukan hash tanggal - itu YYYYMMDD_HHMM yang bisa Anda dapatkan tanggal untuk dicetak dengan argumen format. Alasan dia melakukan itu adalah karena itu dapat diurutkan tanpa melompat melalui lingkaran.
hotei

Itu bukan hash kencan - itu date +%Y%m%d_%H%M. Alasan dia melakukan itu adalah karena itu dapat diurutkan tanpa melompat melalui lingkaran.
hotei

Saya tidak mengerti, mengapa Anda melakukan itu "echo date| openssl md5"? Bisakah Anda menjelaskannya?

Bagaimana dengan: DATE_HASH = $ (echo -n date +%Y%m%d_%H%M) ... dan mungkin nama yang lebih baik daripada DATE_HASH karena ini bukan lagi hash ... :)
Johan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.