Gunakan >
operator:
rsync -v > log.txt
akan menulis output dari perintah rsync ke file bernama log.txt
.
Anda dapat memanggil skrip Anda dan mengarahkan ulang "output standar" (AKA STDOUT) ke file log. Gunakan '>>' untuk menambahkan file log atau '>' untuk menimpa file log. File akan dibuat (jika izin pada direktori memungkinkan) jika belum ada. Jika file sudah ada, pastikan file dapat ditulisi oleh Anda (atau siapa pun yang menjalankan skrip Anda).
Jika Anda selalu menambahkan file log daripada menulisnya, praktik yang baik adalah memastikan sejak awal bahwa sesuatu akan "memutar" file log Anda, yaitu, memindahkannya ke nama lain dan menghapus file log lama. Jika file log unik untuk skrip Anda, skrip Anda dapat menangani rotasi file log.
Biasanya, cara yang lebih disukai adalah memanggil skrip Anda dengan pengalihan STDOUT, tetapi mungkin ada kalanya Anda ingin melakukan pengalihan di dalam skrip itu sendiri untuk satu atau lebih perintah. Anda dapat menambahkan ">> logfile" setelah pernyataan apa pun dalam skrip shell untuk menambahkan STDOUT dari perintah tersebut ke file log. Anda dapat mengubahnya menjadi "2>&1>> logfile" untuk menambahkan "standard error" (AKA STDERR) dan STDOUT ke file log. Anda biasanya tidak ingin STDERR juga masuk ke file log karena STDERR biasanya digunakan untuk memberi tahu apa pun/siapa pun yang menjalankan skrip masalah. Tetapi ada waktu dan situasi di mana Anda menginginkannya. Jika mau, Anda dapat mengelompokkan perintah dalam skrip Anda di dalam { dan } dan mengalihkan STDOUT dari seluruh grup sekaligus dengan meletakkan pengalihan setelah kurung tutup itu.
Selain hal di atas, jika Anda penasaran ingin melihat keluaran yang dicetak ke layar DAN ke file untuk pengarsipan/grepping/dll, Anda mungkin ingin "tee " keluarannya. Ini adalah perintah yang bagus dan dinamai menurut pipa T yang ditemukan di pipa dunia nyata, dan bekerja dengan baik untuk "sub-konsol" seperti mysql, dll.
Perintahnya adalah tee ... inilah contoh yang disalin dari pengguna bernama "toydi":
Untuk menampilkan dan mencatat output dari perintah secara bersamaan:
ls -l | tee -a file.log
Dalam contoh ini, ini akan menampilkan output daftar direktori dan juga, menyimpan output ke dalam file.log. Opsi -menandakan perintah untuk menambahkan daripada menimpa file.
Juga, periksa gambar di wikipedia untuk visualisasi yang bagus tentang cara kerja tee. Saya akan menautkannya, tetapi saya tidak memiliki "poin reputasi" yang cukup untuk memposting lebih dari 1 tautan, dan saya merasa "toydi" pantas mendapatkan kredit tautan :)