Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

4
cronjob สำหรับการสำรองฐานข้อมูลอัตโนมัติไปยังไฟล์นำหน้าวันที่
ฉันใช้ Linux Mint ล่าสุด ฉันสงสัยว่ามันเป็นไปได้ที่จะสร้าง cronjob พิเศษสำหรับการสำรองฐานข้อมูล ใน/etc/cronjobไฟล์ของฉันฉันมีรหัสต่อไปนี้: # Minute Hour Day of Month Month Day of Week Command # (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat) 30 4 * * 1-6 /home/users/backup.sh ในฉัน/home/users/backup.shฉันมี: mysqldump -uroot -p MyDatabase > /home/users/backup_MyDB/full_myDB.sql แทนที่จะfull_myDB.sqlต้องการให้มีบางสิ่งบางอย่างเหมือน2014-04-04_full_myDB.sqlที่วันที่จะถูกเพิ่มแบบไดนามิกขึ้นอยู่กับวันที่เรามี หากไฟล์ SQL Backup เก่ากว่าหนึ่งสัปดาห์ฉันต้องการ cronjob ลบโดยอัตโนมัติ
12 cron  backup  mysql  database 

4
แยกอักขระก่อน () โดยใช้ grep
ฉันต้องการแยกอักขระก่อนอักขระ '(' โครงสร้างไฟล์ของฉันคือ: ดอกกุหลาบ (ดี) OOK เดซี่ () ไม่มี ลิลลี่ (ไม่ดี) ปรับ ดอกทานตะวัน () มีความสุข ฉันต้องการไฟล์ที่ส่งออกในรูปแบบของ: rose daisy lilly sunflower ใครสามารถบอกคำสั่งนี้ ..... awk, grep หรือ sed ดีกว่า ...
12 sed  awk  grep 

3
หนึ่งจับปริมาณการใช้งานบนอินเตอร์เฟสเสมือนได้อย่างไร
ฉันต้องการจับภาพทราฟฟิกบนอินเตอร์เฟสเสมือนของ Linux เพื่อการดีบัก ฉันได้รับการทดสอบด้วยveth, tunและdummyอินเตอร์เฟซประเภท; ในทั้งสามฉันมีปัญหาในการtcpdumpแสดงอะไร นี่คือวิธีการตั้งค่าส่วนต่อประสานแบบจำลอง: ip link add dummy10 type dummy ip addr add 99.99.99.1 dev dummy10 ip link set dummy10 up ในเทอร์มินัลหนึ่งดูด้วยtcpdump: tcpdump -i dummy10 ในหนึ่งวินาทีให้ฟังด้วยnc: nc -l 99.99.99.1 2048 ในหนึ่งในสามทำการร้องขอ HTTP ด้วยcurl: curl http://99.99.99.1:2048/ แม้ว่าใน terminal 2 เราสามารถดูข้อมูลจากการร้องขอการแสดงอะไรขึ้นมาจากcurltcpdump Tun / แตะกวดวิชาชี้แจงสถานการณ์บางอย่างที่เคอร์เนลอาจไม่ได้ส่งแพ็กเก็ตใด ๆ เมื่อมีการดำเนินงานเกี่ยวกับอินเตอร์เฟซท้องถิ่น: เมื่อดูที่ผลลัพธ์ของ tshark เราจะเห็น …
12 networking  kernel  ip  tcp  tcpdump 

5
การล้างไฟล์โดยไม่รบกวนการเขียนไปป์
ฉันมีโปรแกรมที่ส่งออกฉันเปลี่ยนเส้นทางไปยังล็อกไฟล์: ./my_app > log ฉันต้องการล้าง (เช่นว่างเปล่า) บันทึกเป็นครั้งคราว (ตามต้องการ) และลองทำสิ่งต่าง ๆ เช่น cat "" > log อย่างไรก็ตามดูเหมือนว่าไปป์ดั้งเดิมจะถูกขัดจังหวะและโปรแกรมจะไม่เปลี่ยนเส้นทางเอาต์พุตไปยังล็อกไฟล์อีกต่อไป มีวิธีการทำเช่นนั้น? ปรับปรุง โปรดทราบว่าฉันไม่สามารถแก้ไขแอปพลิเคชันที่สร้างเอาต์พุต มันคายออกมาเป็น stdout และฉันต้องการบันทึกไว้ในบันทึกเพื่อที่ฉันจะได้ตรวจสอบเมื่อฉันต้องการมันและเคลียร์มันเมื่อฉันต้องการ อย่างไรก็ตามฉันไม่จำเป็นต้องรีสตาร์ทแอปพลิเคชัน

7
ฉันจะระบุบรรทัดในไฟล์ในระยะเวลาหนึ่งได้อย่างไร
ฉันต้องการค้นหาบรรทัดในรหัสของฉันที่มีความยาวเกินกว่าที่กำหนด รหัสของฉันมีหลายไฟล์ วิธีที่ดีในการทำเช่นนี้คืออะไร? ฉันต้องการทราบไฟล์และหมายเลขบรรทัด เนื้อหาจะเป็นที่ต้องการ แต่ไม่จำเป็น จุดประสงค์ของการฝึกคือเพื่อหาวิธีแยกเส้น (อาจเป็นด้วยตนเอง)

3
Apache ไม่สามารถโหลดซ้ำ ... มีบันทึกที่ฉันสามารถดูรายละเอียดได้หรือไม่
ฉันมีเว็บเซิร์ฟเวอร์ที่ฉันกำลังเพิ่มไซต์อยู่ หลังจากวิ่งa2ensiteฉันวิ่งservice apache2 reloadและได้สิ่งนี้: [FAIL] การโหลดเว็บเซิร์ฟเวอร์ใหม่อีกครั้ง: apache2 ล้มเหลว! มีไฟล์บันทึกที่ฉันสามารถค้นหารายละเอียดเพิ่มเติมได้หรือไม่

1
การรักษาแอตทริบิวต์เพิ่มเติมด้วย cp / rsync
เมื่อคัดลอกด้วยcpคุณสมบัติเพิ่มเติมจะไม่ถูกเก็บไว้แม้จะชัดเจน cp -a --preserve=all /source /dest หรือ cp -a --preserve=xattr /source /dest เช่นเดียวกันกับrsyncคือ rsync -aq -A -X --delete /source /dest อย่างไรก็ตามบนระบบไฟล์ปลายทางฉันสามารถสร้างแอททริบิวต์แบบขยายได้ด้วยตนเอง (พร้อมchattr) ซึ่งหมายความว่าระบบไฟล์เป้าหมายรองรับ xattr ทำไมฉันไม่สามารถที่จะรักษาxattrด้วยcpหรือrsync? ข้อมูลเพิ่มเติม: ทั้งระบบไฟล์ต้นทางและปลายทางคือ ext4 ทั้งระบบไฟล์ต้นทางและปลายทางเป็นโลคัล (ไม่ใช่ nfs) ฉันใช้ Debian Wheezy
12 filesystems  rsync  cp  xattr 

1
เหตุใด 'คำสั่ง nohup> & / dev / null' จึงดูเหมือน "ทำงาน" ในเชลล์บางตัว
ฉันแก้ไขคำตอบบน Ask Ubuntu ที่แนะนำต่อไปนี้ nohup gedit >& /dev/null & เมื่อพวกเขาตั้งใจจริง nohup gedit &> /dev/null & หลังได้อย่างถูกต้องเปลี่ยนเส้นทางทั้ง stderr และ stdout /dev/nullไป ฉันคาดหวังว่าอดีตจะสร้างไฟล์ชื่อ&หรือมีแนวโน้มที่จะให้ข้อผิดพลาดเช่นเดียวกับกรณีอื่น ๆ : $ echo "foo" >& bash: syntax error near unexpected token `newline' แต่ดูเหมือนว่ามันจะทำงานในลักษณะเดียวกับที่เคยเป็นมาก่อนgeditหน้าต่างปรากฏขึ้นและไม่มีการพิมพ์ข้อความแสดงข้อผิดพลาด ฉันควรทราบด้วยว่านี่เป็นเชลล์เฉพาะ: bash(4.2.45 (1) -release), zsh(5.0.2), csh(เวอร์ชั่นแพ็คเกจ deb: 20110502-2) และtcsh(6.18.01): ทำงานตามที่อธิบายไว้ข้างต้นไม่มีข้อความแสดงข้อผิดพลาดไม่มีไฟล์ที่สร้างขึ้น dash (0.5.7-3): $ nohup gedit …

2
เหตุใดฉันจึงได้รับข้อความแสดงข้อผิดพลาดของ apparmor ใน syslog เกี่ยวกับ NTP และ LDAP
บนเครื่อง Ubuntu 12.04 ที่เพิ่งติดตั้งใหม่ของฉันพร้อมntpและslapdติดตั้งข้อความต่อไปนี้จะปรากฏขึ้น/var/log/syslogตามช่วงเวลาปกติ: Feb 23 18:54:07 my-host kernel: [ 24.610703] type=1400 audit(1393181647.872:15): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/ntpd" name="/etc/ldap/ldap.conf" pid=1526 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0 ฉันค้นหาแล้ว แต่ไม่พบข้อมูลใด ๆ เกี่ยวกับสิ่งที่อาจเป็นสาเหตุของข้อความเหล่านี้และวิธีแก้ไขปัญหา ใครสามารถทำให้กระจ่างเกี่ยวกับสิ่งที่ทำให้เกิดสิ่งนี้และจะทำอย่างไรกับมัน?
12 ubuntu  ldap  ntp  apparmor 

9
ตัวเลือกเพื่อแสดงรูปภาพเมื่ออยู่บนคอนโซล
เมื่อฉันอยู่บนคอนโซล (tty, terminal เสมือนที่คุณไปถึงด้วยCtrl+ Alt+ F1-6ไม่ใช่เทอร์มินัลอีมูเลเตอร์) ฉันต้องเลือกตัวเลือกใดบ้างในการดูรูปภาพ TIFF สิ่งที่ไม่ใช่ข้อความ
12 linux  console  images 

3
ทำไมกฎไม่รวมในไฟล์กำหนดค่า ssh
ดูเหมือนว่าสิ่งต่อไปนี้จะทำงานได้ตามที่คาดไว้นั่นคือกฎข้อที่สองมีชื่อโฮสต์ที่ตรงกับกฎข้อแรกจะนำไปใช้ Host *.hostname.com User myuser IdentityFile ~/.ssh/myidentity Host blah HostName complicated.hostname.com อย่างไรก็ตามการพิมพ์ssh blahจะใช้กฎที่สองเท่านั้น (และไม่ใช่ไฟล์ผู้ใช้หรือข้อมูลประจำตัวของกฎข้อแรก) ฉันมีสองคำถาม: ทำไมสิ่งนี้จึงเกิดขึ้น เป็นไปได้หรือไม่ที่จะทำในสิ่งที่ฉันพยายามทำ
12 ssh  openssh 

4
วิธีการเปลี่ยนชื่อไฟล์ในขณะที่คัดลอก?
ฉันจะคัดลอก (สไตล์การเก็บถาวรที่ไม่มีการเปลี่ยนแปลงวันที่) ไฟล์ทั้งหมดในไดเรกทอรีสำรองไปยังไดเรกทอรีของผู้ใช้ในขณะที่เปลี่ยนชื่อแต่ละไฟล์เพื่อลบส่วนสตริงแบบสุ่มออกจากชื่อ (เช่น -2b0fd460_1426b77b1ee_-7b8e) ได้อย่างไร cp จาก: /backup/path/data/Erp.2014.02.16_16.57.03-2b0fd460_1426b77b1ee_-7b8e.etf ถึง: /home/user/data/Erp.2014.02.16_16.57.03.etf แต่ละไฟล์จะเริ่มต้นด้วย "Erp" ตามด้วยสตริงการประทับวันที่ตามเวลาด้วยสตริงแบบสุ่มและจากนั้นส่วนขยาย ".etf" ฉันต้องการเก็บองค์ประกอบของชื่อทั้งหมดรวมถึงการประทับวันที่ ฉันแค่ต้องการลบสตริงแบบสุ่ม สตริงสุ่มช่วยให้การสำรองข้อมูลหลายไฟล์เดียวกัน อย่างไรก็ตามในกรณีนี้ฉันเพิ่งรัน fdupes และไม่มีการซ้ำซ้อน ดังนั้นฉันสามารถกู้คืนไฟล์ทั้งหมดโดยลบสตริงแบบสุ่ม ฉันกำลังมองหาคำสั่ง bash หนึ่งบรรทัดเพื่อทำ หากไม่ได้ผลฉันสามารถทำได้สองขั้นตอนขึ้นไป ปกติฉันจะใช้ KRename แต่ในกรณีนี้ฉันต้องทุบตี (ฉันทำงานจากระยะไกล)
12 bash  shell  rename  file-copy 

1
ใช้งาน F.lux (Flux) หรือ Redshift พร้อมจอภาพหลายจอพร้อมกับ Nvidia Optimus
ฉันได้ลองติดตั้ง F.lux แล้ว Redshift และกำหนดค่าให้ทำงานบนจอภาพหลายจอโดยไม่ประสบความสำเร็จ ฉันสงสัยว่าการตั้งค่าของฉันซึ่งรวมถึงการตั้งค่า Nvidia Optimus โดยใช้ Bumblebee อาจเป็นสาเหตุของความล้มเหลวนี้หรือไม่ ทั้งสองโปรแกรมดูเหมือนจะทำงานได้ดีบนหน้าจอแล็ปท็อปของฉัน แต่จอภายนอกของฉันผ่าน VGA ไม่ปรับสีด้วยหน้าจอแล็ปท็อปของฉัน มีใครบ้างที่มีประสบการณ์คล้ายกันหรือสามารถใช้โปรแกรมปรับแต่งสีบนจอภาพภายนอกโดยใช้แล็ปท็อป Nvidia Optimus สถานการณ์ Optimus ให้ฉันกำหนดค่าให้เรียกใช้จอภาพภายนอกโดยใช้intel-virtual-outputและ Xrandr บนไดรเวอร์ของ Nvidia ดังนั้นฉันสงสัยว่าสถานการณ์นี้มีผลต่อความสามารถในการเรียกใช้โปรแกรม F.lux หรือ Redshift นี่คือคำแนะนำบางส่วนที่ฉันได้ปฏิบัติตาม: https://github.com/Kilian/f.lux-indicator-applet/issues/18 http://justgetflux.com/linux.html http://jonls.dk/redshift/ https://gist.github.com/bcomnes/4243805 ฉันมี ThinkPad W520 พร้อมชิปเซ็ต Intel 3000HD และ Nvidia Quadro 1000M ใช้ Ubuntu 13.10 (Saucy Salamander) และ Windows …
12 ubuntu  nvidia 

3
สองหาคำสั่งเปรียบเทียบ
เมื่อเร็ว ๆ นี้ฉันได้รับfindหนึ่งซับ แต่ฉันไม่สามารถอธิบายได้ว่าความแตกต่างของสองด้านล่างมาจากไหน: ตัวอย่างที่ 1 [root@centos share]# find . -exec grep -i "madis" {} /dev/null \; ./names:Madison Randy:300:Product Development ตัวอย่างที่ 2 [root@centos share]# find . -exec grep -i "madis" {} \; Madison Randy:300:Product Development อย่างที่คุณเห็นในไฟล์แรกมีไฟล์เฉพาะที่สตริงนี้มาจากและจนถึงตอนนี้ฉันไม่สามารถรู้ได้ว่าทำไมมันถึงเกิดขึ้น
12 bash  shell  find 

5
จะทราบได้อย่างไรว่าไฟล์ข้อความเป็นส่วนย่อยของอีกไฟล์หนึ่ง
ฉันพยายามหาวิธีในการตรวจสอบว่าไฟล์ข้อความเป็นส่วนย่อยของอีก .. ตัวอย่างเช่น: foo bar เป็นส่วนย่อยของ foo bar pluto ในขณะที่: foo pluto และ foo bar ไม่ได้เป็นส่วนย่อยของกันและกัน ... มีวิธีทำสิ่งนี้ด้วยคำสั่งหรือไม่? การตรวจสอบนี้จะต้องเป็นการตรวจสอบข้ามและจะต้องกลับมา: file1 subset of file2 : True file2 subset of file1 : True otherwise : False

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