1.1. Script Shell ງ່າຍໆ
Shell script ຕໍ່ໄປນີ້ໃຊ້ tar ເພື່ອສ້າງແຟ້ມຈັດເກັບຢູ່ໃນລະບົບໄຟລ໌ NFS ທີ່ຕິດຕັ້ງຫ່າງໄກສອກຫຼີກ. ຊື່ແຟ້ມຈັດເກັບແມ່ນຖືກກໍານົດໂດຍນໍາໃຊ້ລະບົບຄໍາສັ່ງເພີ່ມເຕີມ.
#! / bin / bash
####################################
#
# ສໍາຮອງກັບ NFS mount script.
#
####################################
# ສິ່ງທີ່ຕ້ອງການສໍາຮອງ.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# ບ່ອນໃດທີ່ຈະສໍາຮອງຂໍ້ມູນ. dest="/mnt/backup"
# ສ້າງຊື່ແຟ້ມຈັດເກັບ. day=$(date +%A) hostname=$(hostname -s) archive_file="$hostname-$day.tgz"
# ພິມຂໍ້ຄວາມສະຖານະເລີ່ມຕົ້ນ.
echo "ການສໍາຮອງ $backup_files ກັບ $dest/$archive_file" ວັນທີ
echo
# ສໍາຮອງໄຟລ໌ໂດຍໃຊ້ tar.
tar czf $ dest / $ archive_file $ backup_files
# ພິມຂໍ້ຄວາມສະຖານະການສິ້ນສຸດ. ສຽງສະທ້ອນ
echo "ສໍາຮອງຂໍ້ມູນສໍາເລັດ" ວັນທີ
# ບັນຊີລາຍຊື່ຍາວຂອງໄຟລ໌ໃນ $dest ເພື່ອກວດເບິ່ງຂະຫນາດໄຟລ໌. ls -lh $dest
• $backup_files: ລາຍຊື່ຕົວປ່ຽນແປງທີ່ໄດເລກະທໍລີທີ່ທ່ານຕ້ອງການສໍາຮອງຂໍ້ມູນ. ບັນຊີລາຍຊື່ຄວນໄດ້ຮັບການປັບແຕ່ງເພື່ອໃຫ້ເຫມາະສົມກັບຄວາມຕ້ອງການຂອງທ່ານ.
• $day: ຕົວປ່ຽນແປງຖືມື້ຂອງອາທິດ (ວັນຈັນ, ວັນອັງຄານ, ວັນພຸດ, ແລະອື່ນໆ). ອັນນີ້ໃຊ້ເພື່ອສ້າງແຟ້ມຈັດເກັບສໍາລັບແຕ່ລະມື້ຂອງອາທິດ, ໃຫ້ປະຫວັດການສໍາຮອງຂອງເຈັດມື້. ມີວິທີອື່ນເພື່ອເຮັດສໍາເລັດນີ້ລວມທັງການນໍາໃຊ້ຜົນປະໂຫຍດວັນທີ.
• $hostname: ຕົວແປທີ່ປະກອບດ້ວຍ ສັ້ນ ຊື່ເຈົ້າພາບຂອງລະບົບ. ການໃຊ້ຊື່ໂຮດໃນຊື່ແຟ້ມຈັດເກັບເຮັດໃຫ້ທ່ານມີທາງເລືອກໃນການວາງໄຟລ໌ທີ່ເກັບໄວ້ປະຈໍາວັນຈາກຫຼາຍລະບົບໃນໄດເລກະທໍລີດຽວກັນ.
• $archive_file: ຊື່ແຟ້ມຈັດເກັບເຕັມ.
• $dest: ຈຸດໝາຍປາຍທາງຂອງແຟ້ມຈັດເກັບ. ໄດເລກະທໍລີຕ້ອງຖືກສ້າງຂື້ນແລະໃນກໍລະນີນີ້ຖືກຕິດຕັ້ງກ່ອນທີ່ຈະດໍາເນີນການສະຄິບສໍາຮອງ. ເບິ່ງພາກທີ 2, “ລະບົບໄຟລ໌ເຄືອຂ່າຍ (NFS)” [ໜ້າ. 253] ສໍາລັບລາຍລະອຽດຂອງການນໍາໃຊ້ NFS.
• ຂໍ້ຄວາມສະຖານະ: ຂໍ້ຄວາມທາງເລືອກທີ່ພິມໃສ່ console ໂດຍໃຊ້ echo utility.
• tar czf $dest/$archive_file $backup_files: ຄໍາສັ່ງ tar ໃຊ້ເພື່ອສ້າງແຟ້ມຈັດເກັບ.
• c: ສ້າງແຟ້ມຈັດເກັບ.
• z: ກັ່ນຕອງແຟ້ມຈັດເກັບຜ່ານ gzip utility ການບີບອັດແຟ້ມຈັດເກັບ.
• f: ສົ່ງອອກໄປຍັງແຟ້ມຈັດເກັບ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຜົນຜະລິດ tar ຈະຖືກສົ່ງໄປຫາ STDOUT.
• ls -lh $dest: ຄໍາຖະແຫຼງທາງເລືອກພິມ a -l ບັນຊີລາຍຊື່ຍາວໃນ -h ຮູບແບບທີ່ມະນຸດສາມາດອ່ານໄດ້ຂອງໄດເລກະທໍລີປາຍທາງ. ນີ້ເປັນປະໂຫຍດສໍາລັບການກວດສອບຂະຫນາດໄຟລ໌ໄວຂອງໄຟລ໌ຮວບຮວມ. ການກວດສອບນີ້ບໍ່ຄວນປ່ຽນແທນການທົດສອບໄຟລ໌ທີ່ເກັບໄວ້.
ນີ້ແມ່ນຕົວຢ່າງງ່າຍໆຂອງ script shell ສຳຮອງ; ຢ່າງໃດກໍຕາມ, ມີຫຼາຍທາງເລືອກທີ່ສາມາດຖືກລວມເຂົ້າໃນ script ດັ່ງກ່າວ. ເບິ່ງພາກທີ 1.4, “ເອກະສານອ້າງອີງ” [ໜ້າ. 327] ສໍາລັບການເຊື່ອມຕໍ່ກັບຊັບພະຍາກອນທີ່ສະຫນອງຂໍ້ມູນການສະຄິບ shell ໃນຄວາມເລິກຫຼາຍ.